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