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

Discussion dans 'Administration d'un site Web' créé par 7804j, 11 Décembre 2011.

  1. 7804j
    7804j WRInaute discret
    Inscrit:
    20 Avril 2011
    Messages:
    167
    J'aime reçus:
    0
    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 ;)
     
  2. 7804j
    7804j WRInaute discret
    Inscrit:
    20 Avril 2011
    Messages:
    167
    J'aime reçus:
    0
    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 -_-')
     
  3. hebergeur-images
    hebergeur-images WRInaute discret
    Inscrit:
    29 Novembre 2011
    Messages:
    53
    J'aime reçus:
    0
    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
     
  4. hebergeur-images
    hebergeur-images WRInaute discret
    Inscrit:
    29 Novembre 2011
    Messages:
    53
    J'aime reçus:
    0
  5. hebergeur-images
    hebergeur-images WRInaute discret
    Inscrit:
    29 Novembre 2011
    Messages:
    53
    J'aime reçus:
    0
    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:
     
  6. 7804j
    7804j WRInaute discret
    Inscrit:
    20 Avril 2011
    Messages:
    167
    J'aime reçus:
    0
    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 ?
     
  7. hebergeur-images
    hebergeur-images WRInaute discret
    Inscrit:
    29 Novembre 2011
    Messages:
    53
    J'aime reçus:
    0
    intéressant ce lien ! plus frais :mrgreen: merci






    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
     
  8. 7804j
    7804j WRInaute discret
    Inscrit:
    20 Avril 2011
    Messages:
    167
    J'aime reçus:
    0
    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:
    
    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:
    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:
    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 ^^'
     
  9. Julia41
    Julia41 WRInaute passionné
    Inscrit:
    31 Août 2007
    Messages:
    1 779
    J'aime reçus:
    0
    Code:
    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:
    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.
     
  10. 7804j
    7804j WRInaute discret
    Inscrit:
    20 Avril 2011
    Messages:
    167
    J'aime reçus:
    0
    Actuellement, pour l'envoi d'e-mails, j'utilise cette fonction :

    Code:
    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.
     
Chargement...
Similar Threads - Auto adaptation domaine Forum Date
Backlinks Hors-Thématique et autorité Netlinking, backlinks, liens et redirections Mardi à 08:01
Recherche Rédacteur Web Technique AUTO Rédaction web et référencement 9 Avril 2021
Problème mail automatique Développement d'un site Web ou d'une appli mobile 31 Mars 2021
Stratégies d'enchères automatiques de google Ads AdWords 29 Mars 2021
DNS et site auto-hébergé. Administration d'un site Web 27 Mars 2021
liens d'autorité de site Débuter en référencement 20 Février 2021
Améliorer le workflow d'automatisation de tâches sur Instagram Autres réseaux sociaux 27 Janvier 2021
Robots : n'autoriser que les 4 ou 5 moteurs de recherche principaux Crawl et indexation Google, sitemaps 15 Janvier 2021
Contenu dupliqué autorisé ? Problèmes de référencement spécifiques à vos sites 5 Décembre 2020
Auto entrepreneur et Adsense en 2020 AdSense 22 Octobre 2020