Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/03/2019, à 00:33

oliver2004

[ Résolu ] [Postfix sattelite] Problème d'envoi de mails

Bonjour,
J'ai installé postfix en mode sattelite. Ça marche et le serveur semble bien configuré car je reçois les mails que m'envoie le serveur, genre mes connexions en ssh, le logwatch, etc.
L'envoi de mail avec la fonction mail() de php a fonctionné en fait du premier coup, à ma grande surprise mais j'ai modifié le script php et ça ne fonctionne plus sans voir l'erreur... je bataille depuis avant hier mais rien, et je suis pas mal bloqué.
Si quelqu'un pouvait me venir en aide... je bloque depuis 2 jours, j'avoue que je sèche...
Voici mon script pour les header :

$limite = "_----------=_parties_".md5(uniqid (rand()));
// On filtre les serveurs qui présentent des bogues.
if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) { $a_la_ligne = "\r\n"; } else { $a_la_ligne = "\n"; }


$header  = 'Reply-to: '.$array['data_mail']['from'].$a_la_ligne;
$header .= 'From: '.$array['data_mail']['from'].$a_la_ligne;
$header .= 'Disposition-Notification-To: '.$array['data_mail']['from'].$a_la_ligne;
$header .= 'Return-Receipt-To: '.$array['data_mail']['from'].$a_la_ligne;
$header .= 'X-Sender: '.$array['data_mail']['site'].$a_la_ligne;
$header .= 'X-Mailer: PHP'.$a_la_ligne;
$header .= 'X-auth-smtp-user: '.$array['data_mail']['admin'].$a_la_ligne;
$header .= 'X-abuse-contact: '.$array['data_mail']['admin'].$a_la_ligne;

$header .= 'Date: '.date("D, j M Y G:i:s O").$a_la_ligne;
$header .= 'MIME-Version: 1.0'.$a_la_ligne;
$header .= 'Content-Type: multipart/alternative; boundary='.$limite.$a_la_ligne;

$message .= '--'.$limite.$a_la_ligne;
$message .= 'Content-Type: text/plain'.$a_la_ligne;
$message .= 'charset="ISO-8859-1"'.$a_la_ligne;
$message .= 'Content-Transfer-Encoding: 8bit'.$a_la_ligne;
$message .= $array['data_mail']['text'];

$message .= $a_la_ligne.'--'.$limite.$a_la_ligne;
$message .= 'Content-Type: text/html; ';
$message .= 'charset="ISO-8859-1"'.$a_la_ligne;
$message .= 'Content-Transfer-Encoding: 8bit;'.$a_la_ligne;
$message .= $array['data_mail']['html'];

$message .= $a_la_ligne.'--'.$limite.'--';

Ce qui me donne lors de l'envoi des mails ces headers

Reply-to: no-reply@domaine.com
From: no-reply@domaine.com
Disposition-Notification-To: no-reply@domaine.com
Return-Receipt-To: no-reply@domaine.com
X-Sender: https://domaine.com
X-Mailer: PHP
X-auth-smtp-user: connexion@domaine.com
X-abuse-contact: connexion@domaine.com
Date: Tue, 19 Mar 2019 19:13:50 -0400
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary=_----------=_parties_620eb84dcbf568e7e77b044985ad3590
--_----------=_parties_620eb84dcbf568e7e77b044985ad3590
Content-Type: text/plain
charset="UTF-8"
Content-Transfer-Encoding: 8bit
C'est un contenu
--_----------=_parties_620eb84dcbf568e7e77b044985ad3590
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 8bit;
<p>C'est du contenu</p>
--_----------=_parties_620eb84dcbf568e7e77b044985ad3590--

Le mail semble envoyé mais les logs me donnent ça :

mail.log a écrit :

Mar 19 19:13:50 vps102342 postfix/pickup[32105]: D372A80F16: uid=33 from=<www-data>
Mar 19 19:13:50 vps102342 postfix/cleanup[709]: D372A80F16: message-id=<20190319231350.D372A80F16@vps102342.vps.ovh.ca>
Mar 19 19:13:50 vps102342 postfix/qmgr[31747]: D372A80F16: from=<www-data@domaine.com>, size=1119, nrcpt=1 (queue active)
Mar 19 19:13:51 vps102342 postfix/smtp[711]: D372A80F16: to=<oliver@domaine.com>, relay=mail.serveur.com[83.166.128.14]:587, delay=0.64, delays=0.07/0.08/0.49/0, dsn=5.6.7, status=bounced (SMTPUTF8 is required, but was not offered by host mail.serveur.com[83.166.128.14])
Mar 19 19:13:51 vps102342 postfix/cleanup[709]: 7DA6F80F22: message-id=<20190319231351.7DA6F80F22@vps102342.vps.ovh.ca>
Mar 19 19:13:51 vps102342 postfix/bounce[712]: D372A80F16: sender non-delivery notification: 7DA6F80F22
Mar 19 19:13:51 vps102342 postfix/qmgr[31747]: 7DA6F80F22: from=<>, size=3260, nrcpt=1 (queue active)
Mar 19 19:13:51 vps102342 postfix/smtp[711]: connect to mail.serveur.com[2001:1600:4:2::3]:587: Network is unreachable
Mar 19 19:13:51 vps102342 postfix/qmgr[31747]: D372A80F16: removed
Mar 19 19:13:52 vps102342 postfix/smtp[711]: 7DA6F80F22: to=<www-data@domaine.com>, relay=mail.serveur.com[83.166.128.14]:587, delay=0.48, delays=0.09/0/0.39/0, dsn=5.6.7, status=bounced (SMTPUTF8 is required, but was not offered by host mail.serveur.com[83.166.128.14])
Mar 19 19:13:52 vps102342 postfix/qmgr[31747]: 7DA6F80F22: removed

Du coup, je comprends pas trop ?
Le from est définit mais il ne semble pas l'ètre  Mar 19 19:13:50 vps102342 postfix/qmgr[31747]: D372A80F16: from=<www-data@domaine.com>, size=1119, nrcpt=1 (queue active)
Quelqu'un voit un truc qui cloche ?

Dernière modification par oliver2004 (Le 23/03/2019, à 14:52)


Bureaux: Ubuntu Serveur Edition 18.04.4 LTS, Kubuntu, Xubuntu sur portables 18.04 LTS ou 20.04 LTS
Déjà 13 ans que toutes les machines sont LINUX dans mon entreprise...

Hors ligne

#2 Le 20/03/2019, à 04:14

oliver2004

Re : [ Résolu ] [Postfix sattelite] Problème d'envoi de mails

Re,
J'ai finalement réussi à faire partir les mails... pff, super sensible tout ça.
Par contre, j'ai un petit problème d'affichage :
C'est genre ceci :

bonjour

Vous avez demandé l'envoi d'un code d'accès à l'Espace Client Puka Nina car celui-ci a été généré par notre serveur.

Les codes sont les suivants

    Utilisateur :

Du coup si j'affiche en UTF-8 sur mon client mail, c'est bon, mais le problème est que certains clients ne vont pas afficher correctement mes mails. Il y a t-il une solution à ça ?


Bureaux: Ubuntu Serveur Edition 18.04.4 LTS, Kubuntu, Xubuntu sur portables 18.04 LTS ou 20.04 LTS
Déjà 13 ans que toutes les machines sont LINUX dans mon entreprise...

Hors ligne

#3 Le 20/03/2019, à 05:03

oliver2004

Re : [ Résolu ] [Postfix sattelite] Problème d'envoi de mails

Bonjour à nouveau,
J'ai donc un mail qui s'envoie et qui se reçoit, en texte brut et en html
Je le reçois OK sur mon client, en texte brut et html, ainsi que sur yahoo, idem.
Par contre, sur gmail, le mail arrive à destination mais vide, ni texte brut ni html, à la place il y a un fichier nommé noname et qui pèse 0 Ko... embêtant... car rien de plus...


Bureaux: Ubuntu Serveur Edition 18.04.4 LTS, Kubuntu, Xubuntu sur portables 18.04 LTS ou 20.04 LTS
Déjà 13 ans que toutes les machines sont LINUX dans mon entreprise...

Hors ligne

#4 Le 20/03/2019, à 07:39

bruno

Re : [ Résolu ] [Postfix sattelite] Problème d'envoi de mails

Bonjour,

Tu as des problèmes dans tes en-têtes, le Content-type doit être sur une seule ligne entre autres.
Dans l'en-tête :

Content-Transfer-Encoding: 8Bit

dans la partie texte :

Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"

dans la partie html :

Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="UTF-8"

Hors ligne

#5 Le 22/03/2019, à 00:19

oliver2004

Re : [ Résolu ] [Postfix sattelite] Problème d'envoi de mails

bruno a écrit :

Bonjour,

Tu as des problèmes dans tes en-têtes, le Content-type doit être sur une seule ligne entre autres.
Dans l'en-tête :

Content-Transfer-Encoding: 8Bit

dans la partie texte :

Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain; charset="UTF-8"

dans la partie html :

Content-Transfer-Encoding: quoted-printable
Content-Type: text/html; charset="UTF-8"

Bonjour bruno, et bien merci pour toutes ces interventions toujours ciblées, celles ici et d'autres sur d'autres topics ! merci. smile
Ça remarche sauf à quelques détails près.
Je remets ici mes header pour être sûr que c'est ok :

Reply-to: No reply required  <no-reply@domaine.com>
From: No reply required  <no-reply@domaine.com>
Cc: oliver@gmail.com
Bcc: oliver@yahoo.com
Disposition-Notification-To: <admin@domaine.com>
Return-Receipt-To: <admin@domaine.com>
X-Sender: <https://domaine.com>
X-Mailer: PHP/7.2.15-0ubuntu0.18.04.1
X-Priority: 2
X-auth-smtp-user: No reply required  <no-reply@domaine.com> 
X-abuse-contact: No reply required  <no-reply@domaine.com> 
Date: Thu, 21 Mar 2019 19:07:22 -0400
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: multipart/alternative; boundary="_----------=_parties_41f2b1388a6dbaa71c8971824b3694d0"--_----------=_parties_41f2b1388a6dbaa71c8971824b3694d0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Ici la version texte
--_----------=_parties_41f2b1388a6dbaa71c8971824b3694d0
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>Génération de code</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
// code html etc
</body>
</html>
--_----------=_parties_41f2b1388a6dbaa71c8971824b3694d0--

Il me semble que y a quelque chose en trop ici : Content-Type: multipart/alternative; boundary="_----------=_parties_41f2b1388a6dbaa71c8971824b3694d0"--_----------=_parties_41f2b1388a6dbaa71c8971824b3694d0
Non ?

Je disais  quelques détails près, mais ce n'est peut-être pas le problème des headers...
J'ai trouvé un script d'email responsive qui marche bien sauf pour l'affichage d'image... ça bloque sur gmail alors que celles-ci sont autorisées, et sur hotmail.
Aussi, sur hotmail, mon mail va en spam jusqu'à ajout de l'adresse au carnet d'adresse, sur gmail ok et sur mon client ok aussi. Sur yahoo, c'est tout ok, même pour l'image qui s'affiche correctement, ainsi que sur mon client local (thunderbird)
Il y a t-il un moyen de savoir si un mail arrive en spam chez le destinataire ?

[edit]
Pour Content-Type: multipart/alternative; boundary="_----------=_parties_41f2b1388a6dbaa71c8971824b3694d0"--_----------=_parties_41f2b1388a6dbaa71c8971824b3694d0, je crois qu'il me manquait un saut à la ligne :

Date: Thu, 21 Mar 2019 19:28:48 -0400
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: multipart/alternative; boundary="_----------=_parties_cc286f8ba1417adfe69f6cbbf41fa36b"
--_----------=_parties_cc286f8ba1417adfe69f6cbbf41fa36b
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Dernière modification par oliver2004 (Le 22/03/2019, à 00:30)


Bureaux: Ubuntu Serveur Edition 18.04.4 LTS, Kubuntu, Xubuntu sur portables 18.04 LTS ou 20.04 LTS
Déjà 13 ans que toutes les machines sont LINUX dans mon entreprise...

Hors ligne

#6 Le 22/03/2019, à 07:00

bruno

Re : [ Résolu ] [Postfix sattelite] Problème d'envoi de mails

Tes en-têtes me semblent maintenant correctes et tu as bien vu qu'il manquait un saut de ligne wink

Pour l’affichage des images et le traitement en spam par certains serveurs c'est un tout autre problème qui dépend de très nombreux facteurs.
Pas mal de client de courriel sont configurés pour bloquer par défaut l'affichage des ressources externes. L'utilisateur doit autoriser manuellement l'affichage. C'est une sécurité pour éviter le pistage notamment.

Pour le traitement comme spam cela dépend de la « réputation » de ton serveur et de ton nom de domaine (inscription sur des listes noires, IP ou domaine ayant déjà émis des spams), de la configuration de ton serveur et des enregistrements DNS (MX, SPF, DKIM, DMARC, PTR, …) et du contenu du courriel lui-même.

Des outils pour aider à vérifier cela :
https://mxtoolbox.com/
https://www.mail-tester.com/

Hors ligne

#7 Le 23/03/2019, à 05:01

oliver2004

Re : [ Résolu ] [Postfix sattelite] Problème d'envoi de mails

bruno a écrit :

Tes en-têtes me semblent maintenant correctes et tu as bien vu qu'il manquait un saut de ligne wink

Pour l’affichage des images et le traitement en spam par certains serveurs c'est un tout autre problème qui dépend de très nombreux facteurs.
Pas mal de client de courriel sont configurés pour bloquer par défaut l'affichage des ressources externes. L'utilisateur doit autoriser manuellement l'affichage. C'est une sécurité pour éviter le pistage notamment.

Pour le traitement comme spam cela dépend de la « réputation » de ton serveur et de ton nom de domaine (inscription sur des listes noires, IP ou domaine ayant déjà émis des spams), de la configuration de ton serveur et des enregistrements DNS (MX, SPF, DKIM, DMARC, PTR, …) et du contenu du courriel lui-même.

Des outils pour aider à vérifier cela :
https://mxtoolbox.com/
https://www.mail-tester.com/

Super je vais regarder ça. Est ce que ça vaut le coup pour mxtoolbox de prendre une licence si on n'est pas professionnel ? À part le fait de vérifier la configuration des DNS, il y a t-il une autre utilité qui vaille le coup pour un investissement dans le temps ?

Sinon, peut-être un dernier truc, qui je pense était un des problème majeurs :
Mes mails ont l'air de partir mais n'arrivent pas à destination si le sujet a des accents ou des c cédille ou mêmes des tirets par exemple. Ça n'accepte rien que des lettres (sans accent), des chiffres et des espaces... J'ai testé plein de choses, addslashes(), utf8_decode(), utf8_encode(), rien n'y fait.
En effet, le log indique une relation avec utf8 :

Mar 22 23:49:08 vps102342 postfix/cleanup[13762]: 628A180F27: message-id=<20190323034908.628A180F27@vps102342.vps.ovh.ca>
Mar 22 23:49:08 vps102342 postfix/qmgr[1269]: 628A180F27: from=<www-data@domain.com>, size=4216, nrcpt=1 (queue active)
Mar 22 23:49:08 vps102342 postfix/smtp[13767]: connect to mail.serveur.com[2001:1600:4:2::3]:587: Network is unreachable
Mar 22 23:49:09 vps102342 postfix/smtp[13767]: 56CFE80F22: to=<oliver@adresse.com>, relay=mail.serveur.com[83.166.158.12]:587, delay=0.85, delays=0.06/0.01/0.79/0, dsn=5.6.7, status=bounced (SMTPUTF8 is required, but was not offered by host mail.serveur.com[83.166.132.14])
Mar 22 23:49:09 vps102342 postfix/cleanup[13762]: 35E3780F29: message-id=<20190323034909.35E3780F29@vps102342.vps.ovh.ca>
Mar 22 23:49:09 vps102342 postfix/bounce[13972]: 56CFE80F22: sender non-delivery notification: 35E3780F29
Mar 22 23:49:09 vps102342 postfix/qmgr[1269]: 35E3780F29: from=<>, size=6818, nrcpt=1 (queue active)
Mar 22 23:49:09 vps102342 postfix/smtp[13767]: connect to mail.serveur.com[2001:1600:4:2::3]:587: Network is unreachable
Mar 22 23:49:09 vps102342 postfix/qmgr[1269]: 56CFE80F22: removed

et c'est là aussi ou le mail from n'apparaît plus et aussi le Network est tout d'un coup Unreachable... alors que pour un mail avec un sujet genre juste comme ceci : "Un titre sans accents ni caracteres bizarres" ça passe nickel... hmm
Pour le coup, c'est une question de config serveur ou des script php ?


Bureaux: Ubuntu Serveur Edition 18.04.4 LTS, Kubuntu, Xubuntu sur portables 18.04 LTS ou 20.04 LTS
Déjà 13 ans que toutes les machines sont LINUX dans mon entreprise...

Hors ligne

#8 Le 23/03/2019, à 07:31

bruno

Re : [ Résolu ] [Postfix sattelite] Problème d'envoi de mails

Pour le problème des titres, il faut les encoder en utf-8 si nécessaire.
Exemple en PHP :

$subject = 'Titre à problèmes'
$subject = '=?UTF-8?B?'.base64_encode($subject).'?=';

Hors ligne

#9 Le 23/03/2019, à 14:51

oliver2004

Re : [ Résolu ] [Postfix sattelite] Problème d'envoi de mails

bruno a écrit :

Pour le problème des titres, il faut les encoder en utf-8 si nécessaire.
Exemple en PHP :

$subject = 'Titre à problèmes'
$subject = '=?UTF-8?B?'.base64_encode($subject).'?=';

La révélation !
Comment tu fais pour avoir réponse à tout comme ça ? Dire que ça fait une semaine que je me casse les dents avec ça, c'est dingue.
Mille mercis bruno ! Ça marche ! smile

Du coup, faut que je vois pour le DMARC et le DKIM et ce sera bon !
Encore merci, je marque à résolu


Bureaux: Ubuntu Serveur Edition 18.04.4 LTS, Kubuntu, Xubuntu sur portables 18.04 LTS ou 20.04 LTS
Déjà 13 ans que toutes les machines sont LINUX dans mon entreprise...

Hors ligne