Release 3 - Formulaire PHP Mail - not a valid RFC-5321 address

Hello les amis,

J'ai un petit soucis avec ma Release 3. J'ai déjà appelé OVH mais pas de nouvelles concernant mon problème…

Je m'explique. J'utilise un formulaire de contact via wordpress pour mes clients avec un envoi vers une adresse Gmail. Mais le mail ne part jamais et voici ce que j'ai dans la QUEUE de mon postfix:


Message text
This is the mail system at host xxxxxxxx.ip-xx-xxx-xxx.eu.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system

: host
gmail-smtp-in.l.google.com[2a00:1450:400c:c09::1a] said: 553 5.1.2 The
sender address is not a valid RFC-5321 address.
j3si6872047wra.42 - gsmtp (in reply to MAIL FROM command)

Je ne comprends pas pourquoi le sender address est le nom d'utilisateur que j'ai donné quand j'ai crée le serveur virtuel. Ce problème n'arrive que avec un envoi de mail via PHP. En utilisant mail, outlook ou autre, aucun soucis.

Si quelqu'un à la solution.

Merci beaucoup,

Enjoy your Friday night !

Jhon

Regarde si tu peux utiliser phpmailer au sein de Wordpress.
Ou soit, il te faudra peut-être un module qui sait réellement envoyer de jolis mails..

Il faut être de plus en plus rigoureux pour avoir la certitude que les mails sont délivrés aux destinataires…

Hello,

Merci pour ta réponse.

Comme beaucoup de gens j'utilise Contact Form 7 qui lui emploie, il me semble la fonction mail(); de php pour envoyer à travers le serveur.

J'ai remarqué que, meme en envoyant le mail sur une adresse email existante en local sur le domaine en question possédant une redirection vers une adresse gmail, ca ne fonctionne pas. Je m'explique:

J'ai une adresse mail sur le domaine en question choco@domaine.com que je met en destination du formulaire PHP. Cette adresse existe en local mais renvoie également vers une adresse gmail tel un alias. Le mail arrive bien en local mais n'est pas transférer vers Gmail avec exactement le meme mail de daemon. Pareil si je créé un Alias (sans créer l'adresse sur le server. Juste un alias) les mails n'arrivent jamais sur Gmail et j'ai la meme réponse de daemon.

Ce n'est qu'avec les formulaires de contacts que ca fait ca. Si j'envoie un mail a l'adresse choco@domain.com avec un client mail comme outlook, la redirection passe parfaitement vers Gmail.

Essayerait-il d'envoyer le mail en local sur gmail? :neutral_face:

Merci en tout cas les amis !

Bonne journée,

Jhon

Ton mail est syntaxiquement pourri. Donc, GMail te le refuse. Et il a raison.
Regarde du coté des options de WP / Contact form. Il est là, le problème. Surement une option mal réglée ou des prérequis non respectés.

Justement, ca fait deux jours que je cherche pour corriger ce problème. J'ai rien trouvé. J'ai même essayer le plugin WP-Mail-SMTP pour passer par le serveur Gmail en smtp pour envoyer au lieu d'utiliser la fonction mail(); mais ca ne fonctionne pas…

Je galère la alors que je suis sur que c'est une connerie…

Bonjour, tu devrais essayer le test suivant : https://www.wordetweb.com/word-et-web/OVH-Tester-envoi-de-mail-via-un-script-php-FR.htm OVH - Tester l'envoi de mail avec un petit script PHP

Ce test utilise la fonction PHP : mail();

Un MAIL réalisé avec ce type de script est expédié à une adresse aaa@free.fr.
GMAIL repique cette adresse aaa@free.fr et affiche les MAILS dans aaa@gmail.com.

Cela fonctionne très bien. :slight_smile:

Merci pote! Mais j'ai trop de sites qui tournent avec Wordpress pour des clients avec le plugin Contact Form 7 et du coup, il faut vraiment que j'arrive a trouver la solution avec contact form 7… Je trouve pas de solution sur mon ami Google…

Il y a tellement de personnes qui utilisent Wordpress et CF7… Il doit bien y avoir une personne qui connait la solution :smiley:

Et que trouves-tu sur des forums dédiés Wordpress et CF7 ?

La seule chose que j'ai trouvé d'intéressant c'était de passer par le Plugin WP Mail SMTP pour envoyer a travers le SMTP de Google mais ca ne marche pas non plus…

Il me manque quelque de chose d'essentiel.
Là, ou on voit le problème immédiatement.
Est-il possible de voir le morceau du log de postfix concernant l'envoi d'un de ces mails ?

De plus, remplace l'adresse "gmail" pour un adresse temporaire d'ici http://www.1tester.com/tester.com/ - t’auras 3 essaies maximum. T'aurais toutes les indices.

Yes biensur, voici pour les logs mail:

Jan 30 10:04:51 nsxxxxxx postfix/pickup[17965]: C2E32101031: uid=553 from=
Jan 30 10:04:51 nsxxxxxx postfix/cleanup[30474]: C2E32101031: message-id=
Jan 30 10:04:51 nsxxxxxx opendkim[8019]: C2E32101031: DKIM-Signature field added (s=default, d=maoline.be)
Jan 30 10:04:51 nsxxxxxx postfix/qmgr[2064]: C2E32101031: from=, size=814, nrcpt=1 (queue active)
Jan 30 10:04:52 nsxxxxxx postfix/smtp[30758]: C2E32101031: to=gmail.com>, relay=gmail-smtp-in.l.google.com[2a00:1450:400c:c09::1b]:25, delay=0.23, delays=0.17/0/0.04/0.01, dsn=5.1.2, status=bounced (host gmail-smtp-in.l.google.com[2a00:1450:400c:c09::1b] said: 553 5.1.2 The sender address is not a valid RFC-5321 address. 5si15117884wrr.176 - gsmtp (in reply to MAIL FROM command))
Jan 30 10:04:52 nsxxxxxx postfix/cleanup[30474]: 04C47101036: message-id=<20170130090452.04C47101036@ nsxxxxxx.ip-xx-xx-xx.eu>
Jan 30 10:04:52 nsxxxxxx postfix/bounce[30784]: C2E32101031: sender non-delivery notification: 04C47101036
Jan 30 10:04:52 nsxxxxxx postfix/qmgr[2064]: 04C47101036: from=<>, size=3344, nrcpt=1 (queue active)
Jan 30 10:04:52 nsxxxxxx postfix/trivial-rewrite[30779]: warning: do not list domain nsxxxxxx.ip-xx-xx-xx.eu in BOTH mydestination and virtual_mailbox_domains
Jan 30 10:04:52 nsxxxxxx postfix/qmgr[2064]: C2E32101031: removed
Jan 30 10:04:52 nsxxxxxx dovecot: lda(ftpuser): Error: user ftpuser: Initialization failed: mail_location not set and autodetection failed: Mail storage autodetection failed with home=/home/ftpuser
Jan 30 10:04:52 nsxxxxxx dovecot: lda(ftpuser): Fatal: Invalid user settings. Refer to server log for more information.
Jan 30 10:04:52 nsxxxxxx postfix/local[30785]: 04C47101036: to=, orig_to=, relay=local, delay=0.09, delays=0.02/0.01/0/0.07, dsn=4.3.0, status=deferred (temporary failure)

Et pour le mail-tester:

Je n'ai rien (il tourne en boucle) car je pense que le mail ne sort meme pas du serveur, il est directement mis dans la queue mail. Et du coup j'ai les même logs

Jan 30 10:12:33 nsxxxxxx postfix/pickup[17965]: 4EBF8101031: uid=553 from=< ftpuser >
Jan 30 10:12:33 nsxxxxxx postfix/cleanup[32013]: 4EBF8101031: message-id=<683ffeb64b42225a93415bb292ca3eae@www.maoline.be>
Jan 30 10:12:33 nsxxxxxx opendkim[8019]: 4EBF8101031: DKIM-Signature field added (s=default, d=maoline.be)
Jan 30 10:12:33 nsxxxxxx postfix/qmgr[2064]: 4EBF8101031: from=< ftpuser >, size=809, nrcpt=1 (queue active)
Jan 30 10:12:33 nsxxxxxx postfix/smtp[777]: 4EBF8101031: to=tester.com>, relay=mail-tester.com[94.23.206.89]:25, delay=0.24, delays=0.12/0/0.09/0.04, dsn=5.7.1, status=bounced (host 1tester.com[94.23.206.89]tester.com[94.23.206.89] said: 554 5.7.1 < ftpuser >: Sender address rejected: Access denied (in reply to RCPT TO command))
Jan 30 10:12:33 nsxxxxxx postfix/cleanup[32013]: 7FDB1101066: message-id=<20170130091233.7FDB1101066@ nsxxxxxx.ip-xx-xx-xx.eu>
Jan 30 10:12:33 nsxxxxxx postfix/bounce[796]: 4EBF8101031: sender non-delivery notification: 7FDB1101066
Jan 30 10:12:33 nsxxxxxx postfix/qmgr[2064]: 7FDB1101066: from=<>, size=3228, nrcpt=1 (queue active)
Jan 30 10:12:33 nsxxxxxx postfix/trivial-rewrite[769]: warning: do not list domain nsxxxxxx.ip-xx-xx-xx.eu in BOTH mydestination and virtual_mailbox_domains
Jan 30 10:12:33 nsxxxxxx postfix/qmgr[2064]: 4EBF8101031: removed
Jan 30 10:12:33 nsxxxxxx dovecot: lda(ftpuser): Error: user ftpuser: Initialization failed: mail_location not set and autodetection failed: Mail storage autodetection failed with home=/home/ftpuser
Jan 30 10:12:33 nsxxxxxx dovecot: lda(ftpuser): Fatal: Invalid user settings. Refer to server log for more information.
Jan 30 10:12:33 nsxxxxxx postfix/local[800]: 7FDB1101066: to=< ftpuser@nsxxxxxx.ip-xx-xx-xx.eu>, orig_to=, relay=local, delay=0.08, delays=0.02/0/0/0.06, dsn=4.3.0, status=deferred (temporary failure)

Est-ce normal qu'il dise "from=< ftpuser >" ou ftp user est l'utilisateur que j'ai donné pour accéder au FTP et non une adresse email?

Merci en tout cas les amis !


Jan 30 10:04:51 nsxxxxxx postfix/pickup[17965]: C2E32101031: uid=553 from=<ftpuser>

Focus sur ce "ftpuser". Ce 'nom' est utilisé comme adresse d'envoi. Fouille dans le paramétrage de ton plugin pour le changer.
Bien sur, "ftpuser" n'est pas accepté comme 'from' - ni par gmail, ni par personne d'autre.

Exactement et je pense que ce problème provient du serveur et non du plugin… Un problème de configuration dans la release 3 quelque part. Car j'ai le même problème sur d'autres serveurs virtuels qui utilisent la fonction mail() pour envoyer les mails et pas le plugin CF7.

Exemple:

This is the mail system at host nsxxxxxx.ip-xx-xx-xx.eu.

I'm sorry to have to inform you that your message could not
be delivered to one or more recipients. It's attached below.

For further assistance, please send mail to postmaster.

If you do so, please include this problem report. You can
delete your own text from the attached returned message.

The mail system

gmail.com>: host
gmail-smtp-in.l.google.com[2a00:1450:400c:c06::1a] said: 553 5.1.2 The
sender address is not a valid RFC-5321 address.
e1si17170349wrd.138 - gsmtp (in reply to MAIL FROM command)

Le site concernant, WP t'envoi des mails dès qu'il a procédé à des mise à jour automatique.
Genre :
> Subject: [Territoires, Arts et Patrimoine] Votre site a été mis à jour vers WordPress 4.7.2
> From: "WordPress" domaine.fr>
> Date: Fri, January 27, 2017 3:53 am
> To: postmaster@1domaine.frdomaine.fr

> Salutations ! Votre site à l’adresse http://www.1domaine.frdomaine.fr a été
> automatiquement mis à jour vers WordPress 4.7.2.
> Vous n’avez rien de plus à faire. Pour en savoir plus sur la version 4.7.2, lisez
> l’écran À Propos de WordPress :
> http://www.1domaine.fr/wp-admin/about.phpdomaine.fr/wp-admin/about.php

> Si vous rencontrez des problèmes ou avez besoin d’assistance, les volontaires du
> forum d’entraide de wpfr.net devraient pouvoir vous aider.
> http://www.1fr.net/supportfr.net/support

> L’équipe WordPress

T'as reçu des mails comme ça ?
Autrement dit, tes sites savent envoyer des mails ?

Oui ca je reçois ! C'est vraiment bizarre cette situation…

Non, ce n'est pas bizarre… Il y a quelque part où tu vas devoir paramétrer le from…
Soit dans Wordpress, soit dans le module… Au pire, dans le php.ini, mais c'est dégueulasse.
Ton serveur de mail pourrait être configuré pour rajouter le nom de domaine du serveur, mais je doute que ftpuser soit un utilisateur qui possède une boite mail… et un mail automatique ne devrait jamais être envoyé avec un From qui ne débouche pas sur une vraie boite aux lettres…


Contact Form 7


Quel plugin exact ? Je trouve trop de extensions avec ce "Contact Form 7" comme nom . T'as pas un lien ?
J’aimerais bien voir comment cette extension transmet ces mails : si c'est du propre, il passe par l'infrastructure de WordPress. Si c'est du dégueulasse, il mail() lui même - et dans ce cas, t'as qu'à le réparer ou par défaut : poubelle.

Ce R3, ça craint un max déjà , mais je pense qu'il n'est pas en causse ici.
Hey, celui-ci !<br /><br />https://fr.wordpress.org/plugins/contact-form-7/<br /><br />Mais il y a en tout cas un problème avec mail() PHP vu que j&#39;ai aussi un soucis avec un autre site. Voici le script php un peu brut:<br /><br />    // multiple recipients<br />    	$to  &#61; $_POST[&#39;email&#39;] . &#39;, &#39;; // note the comma<br /><br />    	// subject<br />    	$subject &#61; &#39;Merci pour de votre réponse à la soirée We Dare You&#39;;<br /><br />    	// message<br />    	$message &#61; &#39;<br />    	<html></html><br />    	<head></head><br />    	<title>Votre réponse nous est bien parvenue, nous vous en remercions.</title><br />    	<style type="text/css"><br>    		body, #body_style {<br>    		  background:#7a504e; <br>    			min-height:1000px; <br>    			 color:#fff;<br>    			 text-align: center;<br>    			font-family:Arial, Helvetica, sans-serif; <br>    			font-size:12px;}  <br><br>    			.ExternalClass {width:100%;} <br>    			.yshortcuts {color: #F00;}<br>    			p {margin:0; padding:0; margin-bottom:0;} /*optional*/<br>    			a, a:link, a:visited {color:#c6a389;} /*optional*/<br>    	</style><br />    	<br />    	<body style="background:#7a504e; text-align: center; min-height:1000px; color:#fff;font-family:Arial, Helvetica, sans-serif; font-size:12px" bgcolor="#000000">    text&#61;&#34;#FFFFFF&#34;&gt;<br />    			<img src="http://www.wedareyou.be/wp-content/themes/zen/public/img/logo.png" style="margin-top:50px;" loading="lazy" /><br />    			<p style="color:black; font-size:18px; text-transform:uppercase; margin-top: 40px;">Merci pour votre réponse à la We Dare You.</p><br />    						  <br />    		</body><br />    		<br />    		&#39;;<br /><br />    		// To send HTML mail, the Content-type header must be set<br />    		$headers  &#61; &#39;MIME-Version: 1.0&#39; . &#34;\r\n&#34;;<br />    		$headers .&#61; &#39;Content-Type: text/html;charset&#61;utf-8&#39; . &#34;\r\n&#34;;<br /><br />    		// Additional headers<br />    		$headers .&#61; &#39;From: Make It Pop &#39; . &#34;\r\n&#34;;<br /><br /><br />    		// Mail it<br />    		mail($to, &#39;&#61;?utf-8?B?&#39;.base64_encode($subject).&#39;?&#61;&#39;, $message, $headers);<br /><br /><br />Encore 1000 mercis !!!

Concernant "Contact Form 7" : => fichier contact-form-7/includes/mail.php : il utilise wp_mail, la fonction natif Mail de WordPress. Et lui, il fonctionne.
Je présume ce que "Contact Form 7" envoie par wp_mail() qui est fautif. Ce ftpuser doit bien être parémétré quelque part - ou, suivant le doc de mail() de PHP : dans le php.ini. (Toutes les réponses sont ici : http://php.net/manual/fr/function.mail.php )

Idée : comme "Contact Form 7" préconise, utilise aussi Flamingo :
> Avant de pleurer vos e-mails perdus…

> Contact Form 7 ne stocke pas les messages envoyés. Vous pouvez donc perdre à jamais des messages importants si votre serveur de mails a des problèmes, ou si vous faites une erreur dans la configuration des emails.

> Installez une extension de stockage de messages avant que cela ne vous arrive. Flamingo enregistre tous les messages des formulaires de contact dans la base de données. Flamingo est une extension WordPress gratuite créée par le même auteur que Contact Form 7.


Je vais tester "ton script brut" ce soir.

> mail($to, '=?utf-8?B?'.base64_encode($subject).'?=', $message, $headers);

Suivant le doc de mail.php, en absence d'une spécification d'un "envelop sender" , l’utilisateur système du serveur web (dans ton cas, par exemple, c'est 'ftpuser') qui va être utilisé.
Ou l’utilisateur (adresse mail) par défaut spécifié dans le php.ini - si présent.
Pas bon .

A savoir : ce "from", présent dans le headers, n'est pas la même chose que l'adresse mail, utilisé pendant la phase de transmission: SMTP, MAIL FROM:

Utilise ça :
> mail($to, '=?utf-8?B?'.base64_encode($subject).'?=', $message, $headers, '-finfo@makeitpop.be');
et du coup ça fonctionne :wink:

Le parmètre "-ftoi@ton-domaine.tld" fait en sorte que le MAIL FROM: sera correcte.

Il suffit d'utiliser les "additional_parameters ", quatrième paramètre de mail().