Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Consultez la formation à Google Analytics de WebRankInfo / Ranking Metrics

7804j
WRInaute discret
WRInaute discret
 
Messages: 104
Inscription: 20 Avr 2011

Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Dim Déc 11, 2011 16:31

Bonjour,

Je viens tout récemment de me prendre un serveur dédié sur OVH qui est presque complètement configuré mais il me reste encore quelques détails à régler du côté de l'envoi/réception d'e-mails.

J'ai configuré Postfix dans le but de pouvoir gérer l'envoi d'e-mails. Dans l'option du domaine à utiliser pour le courrier sortant, la valeur par défaut était ks245673.kimsufi.com (le nom de mon serveur).

En gros, en en envoyant un mail par PHP depuis une adresse du genre contact@mondomaine.com, les utilisateurs recevaient bien l'e-mails de la part de "contact@domaine.com" mais il était clairement indiqué qu'il avait été envoyé par ks245673.kimsufi.com
J'ai donc changé le "domaine à utiliser pour le courrier sortant" et j'ai mis à la place mondomaine.com.

Du coup, ça fonctionne très bien et les gens reçoivent les e-mails de mon site directement de la part de ce domaine (ce qui évite donc aussi que ça passe dans les spams).

Maintenant, je gère plusieurs sites hébergés sur le même serveur. Le problème, c'est que je ne crois pas qu'on puisse personnaliser ça dans Postfix : actuellement, si j'envoie un mail de contact@monautredomaine.com, il sera considéré comme envoyé de contact@mondomaine.com.

J'aimerais donc, si c'est possible, faire que PHP (ou postfix, je sais pas comment il faudrait gérer ça) adapte automatiquement cette valeur selon l'endroit d'où est envoyé le mail (ou tout simplement selon la valeur indiquée dans "From").

Personnellement, j'utilise Webmin quand cela est possible pour gérer Postfix (ce qui m'évite les erreurs de manipulation). Dans les options, j'ai : Quel domaine utiliser pour le courrier sortant, puis 3 possibilités :
- Utiliser le nom de machine (envoie depuis ks245673.kimsufi.com)
- Utiliser le nom de domaine (envoie depuis kimsufi.com, sans sous-domaine)
- Entrer une valeur : mondomaine.com (envoit toujours depuis mondomaine.com)

Voilà, des solutions (si j'ai été suffisamment clair :/) ? J'utilise webmin mais je peux tout à fait modifier directement les fichiers ;)

7804j
WRInaute discret
WRInaute discret
 
Messages: 104
Inscription: 20 Avr 2011

Re: Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Dim Déc 11, 2011 20:33

Euh... Je dois reconnaître que ce n'était pas très clair :/

En fait voilà, il s'agit du fichier /etc/postfix/main.cf
Dans ce dernier, j'ai la variable mydomain qui vaut "mondomaine.com". Du coup, les mails sont automatiquement envoyés depuis ce domaine.

Comment faire si on a plusieurs NDD pour pouvoir entrer plusieurs noms dans cette variable ? Ou sinon, comment faire pour que cette variable s'adapte automatiquement en fonction du domaine actif (donc qui est dans l'url de la page php qui souhaite envoyer le mail) ?

En espérant que c'est plus clair cette fois-ci :D

Merci beaucoup d'avance car c'est vraiment LE gros problème du moment pour moi ^^' (déjà que mes mails arrivent tous dans les spams avec mon nouveau serveur -_-')

hebergeur-images
WRInaute discret
WRInaute discret
 
Messages: 84
Inscription: 29 Nov 2011

Re: Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Dim Déc 11, 2011 20:45

Alors deux solution, c'est con j'ai perdu mes conf maison : en plus c'est mon dernier sujet avant d'être viré :mrgreen:


mydomain = le domaine au choix ou par defaut
mydestination = $myhostname, localhost.$mydomain, $mydomain, domaine1, domaine2, domainpipi, etc,

test ça et dis moi !


Sinon; tas un truc sympa c'est postfix couplé à mysql ! jvais essayé de te trouver la doc de sarge ; mais c'est pareil pour toute les distrib / faut juste adapter

et je vais te filer la doc française postfix monstrueusement coollllllllllllll
Dernière édition par hebergeur-images le Dim Déc 11, 2011 20:55, édité 1 fois.

hebergeur-images
WRInaute discret
WRInaute discret
 
Messages: 84
Inscription: 29 Nov 2011

Re: Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Dim Déc 11, 2011 20:46

http://x.guimard.free.fr/postfix/


et patiente pour mysql postfix

hebergeur-images
WRInaute discret
WRInaute discret
 
Messages: 84
Inscription: 29 Nov 2011

Re: Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Dim Déc 11, 2011 20:51

ha ben tas de la chance ils ont refait le site ; avec ça tu vas te faire un vrai provider :lol: :mrgreen:

http://workaround.org/ispmail/sarge

ya qu'à lire c'est hyper lisible / je t'assure

Tu peux tout faire avec / du redirect / du compte mail / gestion multi domaine / du ssl pop imap / certificat / antispam / virus / tout !!!!! / le café / c'est la doc qu'il te faut

Bon jfais vite avant d'être blacklist :mrgreen:

7804j
WRInaute discret
WRInaute discret
 
Messages: 104
Inscription: 20 Avr 2011

Re: Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Dim Déc 11, 2011 21:03

Merci :)

Donc oui, j'avais installé postfix avec mysql en suivant ce tuto : http://www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-compl ... r-168.html

Malheureusement, certaines parties n'étaient pas très claires, dont justement à propos de ça pour l'envoi avec mydomain, etc. Je vais lire ton tuto qui a l'air très complet dès que j'en aurai le temps, demain je pense :)

J'ai essayé de faire comme tu as dit, j'ai modifié mydestination en ajoutant mondomaine.com mais le problème c'est que les mails de PHP continuent d'être envoyés depuis le nom de la machine (donc la valeur dans mydomain). Il ne manque pas qqch d'autre ?

hebergeur-images
WRInaute discret
WRInaute discret
 
Messages: 84
Inscription: 29 Nov 2011

Re: Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Dim Déc 11, 2011 21:28

intéressant ce lien ! plus frais :mrgreen: merci


7804j a écrit:Merci :)

Donc oui, j'avais installé postfix avec mysql en suivant ce tuto : http://www.lafermeduweb.net/billet/tutorial-creer-un-serveur-web-compl ... r-168.html
?






Envoi moi par mail le dossier complet /etc/postfix

le fichier /etc/hostname

le /etc/mailname

Et seulement si t'as logrotate pitié sinon non !

/var/log/mail.log

avant d'envoyer les logs donne moi les numeros en tapant ça :

stat -c %s /var/log/mail.log


lionel.belarbi@gmail.com bienvenue saleté de bot

7804j
WRInaute discret
WRInaute discret
 
Messages: 104
Inscription: 20 Avr 2011

Re: Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Dim Déc 11, 2011 21:50

Le retour de stat -c %s /var/log/mail.log me donne 218610

Mais sinon, oulà... Ca risque d'être chaud pour te donner le dossier complet. Je sais que certains fichiers contiennent des mots de passe et quelques trucs que je préfère garder ^^'

Je vais quand même essayer de te donner le plus d'infos possible.

Pour le mail.log, il contient environ 2000 lignes avec toujours la même chose :
Code: Tout sélectionner

Dec 11 21:43:57 ks28664 postfix/smtpd[18171]: fatal: open database /etc/aliases.db: No such file or directory
Dec 11 21:43:58 ks28664 postfix/master[4678]: warning: process /usr/lib/postfix/smtpd pid 18171 exit status 1
Dec 11 21:43:58 ks28664 postfix/master[4678]: warning: /usr/lib/postfix/smtpd: bad command startup -- throttling


Mais déjà, voilà le résultat d'un ls sur /etc/postfix :

Code: Tout sélectionner
dynamicmaps.cf  master.cf                 mysql-virtual_aliases_comptes.cf  mysql-virtual_domaines.cf  postfix-files   post-install
main.cf         mysql-virtual_aliases.cf  mysql-virtual_comptes.cf          mysql-virtual_quotas.cf    postfix-script  sasl

Dis-moi si t'as besoin du contenu d'un fichier.

Et voici le main.cf :

Code: Tout sélectionner
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
disable_vrfy_command = yes
smtpd_helo_required = yes

# appending .domain is the MUA's job.
append_dot_mydomain = no

# Pour faire simple, il est conseillé d'utiliser le reverse DNS de votre serveur.
myhostname = ks28664.kimsufi.com
mydestination = $myhostname, localhost.$mydomain, $mydomain, geek-test.com
mynetworks = 127.0.0.0/8, 91.121.96.184
mailbox_size_limit = 0
recipient_delimiter = +
mail_pool_directory = /var/mail

virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_aliases.cf,mysql:/etc/postfix/mysql-virtual_aliases_comptes.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual_domaines.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual_comptes.cf
virtual_mailbox_base = /var/spool/vmail/
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000

virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql-virtual_quotas.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = "La boite mail de votre destinataire est pleine, merci de reessayez plus tard."
virtual_overquota_bounce = yes


# adresses d'expedition
smtpd_sender_restrictions =
        permit_mynetworks,
        warn_if_reject reject_unverified_sender

# adresses de destination
smtpd_recipient_restrictions =
        permit_mynetworks,
        reject_unauth_destination,
        reject_non_fqdn_recipient

# client
smtpd_client_restrictions =
        permit_mynetworks
myorigin = $mydomain



Voilà, regarde si ça peut t'aider ou s'il te faudrait plus de détails sur un fichier, et merci de ton aide :D

P.S : Pourquoi tu parles toujours de ban imminent ? Ca m'intrigue ^^'


Julia41
WRInaute passionné
WRInaute passionné
 
Messages: 1764
Inscription: 31 Aoû 2007

Re: Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Lun Déc 12, 2011 12:01

Pour le mail.log, il contient environ 2000 lignes avec toujours la même chose :

Code: Tout sélectionner
postalias /etc/aliases

et un reload ça devrait fixher ça.

Sinon pour ton "FROM" PHP qui n'est pas bon, c'est que tu utilises "basiquement" la fonction mail.
Voilà une petite fonction qui te permet de mettre un vrai FROM:
Code: Tout sélectionner
function sendemail($To, $Subject, $Body, $From = 'noreply@admin-serv.net', $Footer = EMAIL_FOOTER) {
        $Headers = 'MIME-Version: 1.0' . CLRF;
        $Headers .= 'Content-type: text/plain; charset=UTF-8' . CLRF;
        $Headers .= 'Content-Transfer-Encoding: 8bit' . CLRF;
        $Headers .= 'From: Admin Serveur <' . $From . '>' . CLRF;
        $Headers .= 'Reply-To: ' . $From . CLRF;
        $Body = wordwrap($Body, 70);
        $Body .= CLRF . CLRF . $Footer;
        $Subject = '=?UTF-8?B?' . base64_encode($Subject) . '?=';
        if (!mail($To, $Subject, $Body, $Headers, "-f " . $From)) {
                return false;
        } else {
                return true;
        }
}

Adapte un peu car je t'ai juste C/C la mienne.
Car là dans ton cas tu n'as qu'un seul domaine émetteur.
Si tu avais 500 domaines hébergées sur ton serveur, tu aimerais peut-être pouvoir adapter.

7804j
WRInaute discret
WRInaute discret
 
Messages: 104
Inscription: 20 Avr 2011

Re: Auto-adaptation du "domaine à utiliser pour le courrier sortant"

Message le Lun Déc 12, 2011 18:33

Actuellement, pour l'envoi d'e-mails, j'utilise cette fonction :

Code: Tout sélectionner
function envoyer_mail($expediteur, $email_expediteur, $adresse, $bcc, $subject, $message_texte, $message_formate)
{
   $message_formate = nl2br($message_formate);
   $mail = $adresse; // Déclaration de l'adresse de destination
   if (!preg_match("#^[a-z0-9._-]+@(hotmail|live|msn).[a-z]{2,4}$#", $mail)) // O,n filtre les serveurs qui bugs
   {
      $passage_ligne = "\r\n";
   }
   else
   {
      $passage_ligne = "\n";
   }
   //=====Déclaration des messages au format texte et au format HTML
   $message_txt = $message_texte;
   $message_html = '<a href="http://www.dofus2.org" title="Dofus2.org"><img src="http://www.dofus2.org/banniere.png" alt="Dofus2.org" title="Dofus2.org" /></a><br/><br/>' . $message_formate;
   //==========
   
   //=====Création de la boundary
   $boundary = "-----=".md5(rand());
   //==========
   
   //=====Définition du sujet
   $sujet = $subject;
   //=========
   
   //=====Création du header de l'e-mail
   $header = "From: \"".$expediteur."\"<".$email_expediteur.">".$passage_ligne;
   $header.= "Reply-to: \"".$expediteur."\" <".$email_expediteur.">".$passage_ligne;
   
   if($bcc != NULL)
   {
   
      $cci = $bcc;
      $header.= "Bcc:";
      foreach($cci as $element)
      {
         $header.= $element;
      
      
      }
      $chaine = substr($header,0,-2);
         
      $header = $chaine;      
      $header.= $passage_ligne;
   
   }

   
   $header.= "MIME-Version: 1.0".$passage_ligne;
   $header.= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
   //==========
   
   //=====Création du message
   $message = $passage_ligne.$boundary.$passage_ligne;
   //=====Ajout du message au format texte
   $message.= "Content-Type: text/plain; charset=\"UTF-8\"".$passage_ligne;
   $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
   $message.= $passage_ligne.$message_txt.$passage_ligne;
   //==========
   $message.= $passage_ligne."--".$boundary.$passage_ligne;
   //=====Ajout du message au format HTML
   $message.= "Content-Type: text/html; charset=\"UTF-8\"".$passage_ligne;
   $message.= "Content-Transfer-Encoding: 8bit".$passage_ligne;
   $message.= $passage_ligne.$message_html.$passage_ligne;
   //==========
   $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
   $message.= $passage_ligne."--".$boundary."--".$passage_ligne;
   //==========
   
   //=====Envoi de l'e-mail
   mail($mail,$sujet,$message,$header);
   //===========


}


Je l'ai un peu adaptée à mes besoins mais ce n'est pas moi qui l'ai créée. A-t-elle l'air correcte ?

Mais le problème ne vient pas de là, je crois. En effet, si je regarde par exemple l'e-mail reçu dans gmail, voilà ce que je vois :


Delivered-To: hihi.jozi@gmail.com
Received: by 10.182.66.168 with SMTP id g8cs18304obt;
Sun, 11 Dec 2011 11:53:41 -0800 (PST)
Received: by 10.216.137.141 with SMTP id y13mr1809531wei.12.1323633220007;
Sun, 11 Dec 2011 11:53:40 -0800 (PST)
Return-Path: <www-data@kimsufi.com>
Received: from ks28664.kimsufi.com (ks28664.kimsufi.com. [91.121.96.184])
by mx.google.com with ESMTP id fh21si9857299wbb.63.2011.12.11.11.53.39;
Sun, 11 Dec 2011 11:53:39 -0800 (PST)
Received-SPF: pass (google.com: best guess record for domain of www-data@kimsufi.com designates 91.121.96.184 as permitted sender) client-ip=91.121.96.184;
Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of www-data@kimsufi.com designates 91.121.96.184 as permitted sender) smtp.mail=www-data@kimsufi.com
Received: by ks28664.kimsufi.com (Postfix, from userid 33)
id 38AD0286005B; Sun, 11 Dec 2011 20:53:33 +0100 (CET)
To: hihi.jozi@gmail.com
Subject: Email de test pour jonathan
X-PHP-Originating-Script: 2001:test.php
From: "Geek-test.com"<contact@geek-test.com>
Reply-to: "Geek-test.com" <contact@geek-test.com>
MIME-Version: 1.0
Content-Type: multipart/alternative;
boundary="-----=91498159cfa82fe4c0ec1d77cf7127c7"
Message-Id: <20111211195333.38AD0286005B@ks28664.kimsufi.com>
Date: Sun, 11 Dec 2011 20:53:33 +0100 (CET)


-----=91498159cfa82fe4c0ec1d77cf7127c7
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit

Salut Jonathan, Ã propos de dofus

-------=91498159cfa82fe4c0ec1d77cf7127c7
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: 8bit

<a href="http://www.dofus2.org" title="Dofus2.org"><img src="http://www.dofus2.org/banniere.png" alt="Dofus2.org" title="Dofus2.org" /></a><br/><br/>Salut Jonathan, Ã propos de dofus

-------=91498159cfa82fe4c0ec1d77cf7127c7--

-------=91498159cfa82fe4c0ec1d77cf7127c7--

Gmail a donc bien reçu, en plus des champs "From", l'adresse de mon serveur (kimsufi.com), que je ne voudrais justement pas voir affichée et remplacer automatiquement par mon domaine.

Oui, actuellement j'ai un seul domaine émetteur car je n'ai pas encore configuré les autres mais j'en possède au total 6.


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation Google Analytics : en 2 jours, apprenez comment exploiter l'essentiel des possibilités de l'outil de mesure d'audience de Google. Formation animée par les experts Google Analytics de Ranking Metrics.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités