Gandi.net Groups

Mail Généralités: Re: Plus de mails issu d'un forumlaire !

Dans le sujet : Plus de mails issu d'un forumlaire !

Vous devez être connecté pour poster de nouveaux messages. Créer un compte.

En news:4735f7fc$0$12510$afc38c87@groups.gand... DP va escriure:
je viens de trouver aprés 2 jours de recherche, avec l'aide de Fred !
Ca peut en aider certains :
Les emails chez Gandi sont (a priori ) plus strict et rigoureux que
chez les autres !
Dans mon script, j'avais 2 choses qui bloqué : (uniquement chez gandi)

print MAIL "From: Votre site $site\n";
print MAIL "Reply-to: $elmreply\n";

A remplacer par :
print MAIL "From: \"Votre site $site\" <$elmreply>\n";
print MAIL "Reply-to: <$elmreply>\n";

Ca serait bien de faire une Faq et/ou un tuto pour ce genre de truc !
Avant de faire une FAQ, voyons d'abord s'il n'y a pas quelque chose à
corriger...

À première vue, je consulte la RFC2822; le champ Reply-to: est spécifié dans
3.6.2. Originator fields, avec la syntaxe
    reply-to        =       "Reply-To:" address-list CRLF

Ce qui nous renvoie vers 3.4. Address Specification (j'élague pour ne garder
que ce qui importe ici):
    address-list    =       (address *("," address)) / obs-addr-list
    address         =       mailbox / group
    mailbox         =       name-addr / addr-spec
    name-addr       =       [display-name] angle-addr
    angle-addr      =       [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr

et un peu plus loin
    addr-spec       =       local-part "@" domain

Donc, il semble bien que la seconde ligne, de forme
    print MAIL "Reply-to: $elmreply\n";
en clair
    Reply-to: gwb@whitehouse.gov
(sans les < et > autour de l'adresse mél) soit du RFC2822 « légal »
(satisfait "addr-spec" donc la seconde forme de "mailbox") ; si le serveur
Gandi était paramétré pour refuser cela, ce ne serait pas franchement
gentil... (qu'en dit le support Gandi?)

En ce qui concerne le From:, le même alinéa 3.6.2. Originator fields donne
    from            =       "From:" mailbox-list CRLF
Qui nous renvoie encore et toujours vers 3.4. Address Specification:
    mailbox-list    =       (mailbox *("," mailbox)) / obs-mbox-list
    mailbox         =       name-addr / addr-spec
    name-addr       =       [display-name] angle-addr
    display-name    =       phrase
    angle-addr      =       [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr

qui renvoie sur 3.2.6. Miscellaneous tokens, où on trouve:
    phrase          =       1*word / obs-phrase
    word            =       atom / quoted-string

et là oui, une syntaxe du genre
    From: toto la frite toto@frite.tld
n'est pas correcte.

Par contre, comme "phrase" est constitué de *un ou plusieurs* "word" (le 1
étoile de la syntaxe), il n'est pas réellement nécessaire de mettre
    print MAIL "From: \"Votre site $site\" <$elmreply>\n";
On peut simplifier en
    print MAIL "From: Votre site $site <$elmreply>\n";
en supposant qu'il n'y a pas de caractères à problème dans $site, ou sinon
    print MAIL "From: Votre site \"$site\" <$elmreply>\n";
(seuls les " et les caractères non-ASCII restent un problème).
Là encore, si le serveur de Gandi est tellement strict qu'il n'accepte qu'un
seul "word", ce ne serait pas gentil...

Sinon, le serveur de Gandi semble être Postfix, qui n'est pas vraiment un
logiciel confidentiel ; donc à moins qu'il ne soit configuré de manière
particulièrement restrictive (en l'occurence, ce serait même trop
restrictive), vous aviez potentiellement le même problème avec pas mal de
configurations...


Antoine