OVH Cloud OVH Cloud

sendmail & domaine

3 réponses
Avatar
cedric
Bonjour,
mon problème depuis maintenant 3 jours entiers: Sendmail ne veut supprimer
le nom de machine du domaine,

sendmail -bt -C sendmail.cf.macrom4
ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
Enter <ruleset> <address>
> /tryflags hs
> /try smtp root
Trying header sender address root for mailer smtp
canonify input: root
Canonify2 input: root
Canonify2 returns: root
canonify returns: root
1 input: root
1 returns: root
HdrFromSMTP input: root
PseudoToReal input: root
PseudoToReal returns: root
MasqSMTP input: root
MasqSMTP returns: root < @ *LOCAL* >
MasqHdr input: root < @ *LOCAL* >
MasqHdr returns: root < @ machine . domaine . fr . >
HdrFromSMTP returns: root < @ machine . domaine . fr . >
final input: root < @ machine . domaine . fr . >
final returns: root @ machine . domaine . fr
Rcode = 0, addr = root@machine.domaine.fr

Pourtant, j'ai suivi les docs qui disent toutes la meme chose. Mon fichier
mc :
1 divert(-1)
7 include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
10 define(`confDEF_USER_ID',``mail:mail'')dnl
13 OSTYPE(`linux')dnl
16 undefine(`UUCP_RELAY')dnl
19 undefine(`BITNET_RELAY')dnl
21 define(`SMTP_MAILER_FLAGS',`e9')dnl
22 define(`confCON_EXPENSIVE', `True')dnl
24 define(`ALIAS_FILE',`/etc/aliases')dnl
26 FEATURE(redirect)dnl
29 FEATURE(relay_entire_domain)dnl
31 FEATURE(accept_unresolvable_domains)dnl
33 FEATURE(always_add_domain)dnl
35 dnl MASQUERADE_AS(domaine.fr)dnl
36 FEATURE(masquerade_envelope)dnl
37 FEATURE(genericstable, `hash -o /etc/mail/genericstable')dnl
38 GENERICS_DOMAIN(machine.domaine.fr machine localhost)dnl
41 define(`PROCMAIL_MAILER_PATH',`/usr/bin/procmail')dnl
44 FEATURE(local_procmail)dnl
47 MAILER(local)dnl
50 MAILER(smtp)dnl

mon fichier genericstable :
login1: prenom1.nom1
login2: prenom2.nom2
login3: prenom3.nom3
root: root@domaine.fr

La ligne MASQUERADE_AS me permet de reecrire normalement le domaine, mais ca
ne me resout pasz le pb, et notamment le fait que le fichier d'alias donne
des erreurs du style toto@domain.fr cannot alias non local name.
QQ pourrait m'expliquer ce qui cloche ? Pasque la je suis au bord de la
depression.

Merci

cedric

3 réponses

Avatar
Thibaut Maquet
Salut,

Il y a beaucoup de choses inutiles dans ton MC.
Tu n'aurais pas tout simplement oublié de renseigner ton local-host-names ??
Le "cannot alias non local name" indique clairement qu'il manque une référence
locale sur ton domaine.
Et puis ta generic-table, je ne vois pas trop à quoi elle te sert, tu te compliques
la vie pour rien. C'est quand même nettement plus simple de faire gérer
l'écriture des adresses par ton client. Mais bon, je suppose que tu as tes
raisons.

Cordialement
Thibaut Maquet
www.pagasa.net (Livre sur Sendmail)
vsmtp.pagasa.net (Tester votre serveur SMTP)
Avatar
cedric
Thibaut Maquet wrote:

Salut,

slt


Il y a beaucoup de choses inutiles dans ton MC.
Effectivement, je ne comprends pas tout ;). En fait je vais a taton en

fonction de docs trouvées sur le net. Mais je n'ai rien vu de vraiement
très compréhensible pour mon petit neuronne.

Tu n'aurais pas tout simplement oublié de renseigner ton local-host-names
?? Le "cannot alias non local name" indique clairement qu'il manque une
référence locale sur ton domaine.


cat /etc/mail/local-host-names
# local-host-names - include all aliases for your machine here.
@domaine.fr

Et puis ta generic-table, je ne vois pas trop à quoi elle te sert, tu te
compliques la vie pour rien. C'est quand même nettement plus simple de
faire gérer l'écriture des adresses par ton client. Mais bon, je suppose
que tu as tes raisons.
Je suis d'accord, en fait c simplement qu'il est expliqué que la réécriture

se fait en fonction de GENERICS_DOMAIN et du fichier genericstable, alors
je l'ai mis pensant que la ligne root: pourrais te
renseigner.

Merci pour ton aide.

cédric

Avatar
Thibaut Maquet
Re,

Et puis ta generic-table, je ne vois pas trop à quoi elle te sert, tu te
compliques la vie pour rien. C'est quand même nettement plus simple de
faire gérer l'écriture des adresses par ton client. Mais bon, je suppose
que tu as tes raisons.
Je suis d'accord, en fait c simplement qu'il est expliqué que la réécriture

se fait en fonction de GENERICS_DOMAIN et du fichier genericstable, alors
je l'ai mis pensant que la ligne root: pourrais te
renseigner.


Tu ne peux pas faire comme ça !
La syntaxe exacte est:

compte local adresse distante (sans le :)

Donc

root

Et comme tu le vois, il s'agit d'une adresse distante.
N'oublie pas de reconstruire ta base:

# makemap hash genericstable < genericstable

De plus, tu dois également renseigner ton fichier generics-domains afin que
Sendmail puisse chercher une correspondance de ré-écriture.
Pour ne pas t'embêter, je te conseille d'utiliser directement ton local-host-names:

GENERICS_DOMAIN_FILE(`/etc/mail/local-host-names')dnl

qui contient domaine.fr

Attention, generics-domains est une macro, pas une base.

Tu recompiles ton sendmail.cf:

# m4 sendmail.mc >sendmail.cf

Ceci fait, tu relis la conf:

# kill -HUP `head -1 /var/run/sendmail.pid`

Cordialement
Thibaut Maquet
www.pagasa.net (Livre sur Sendmail)
vsmtp.pagasa.net (Tester votre serveur SMTP)