IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Mail] E-mail en spam avec Hotmail


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par défaut [Mail] E-mail en spam avec Hotmail
    Bonjour,
    Afin d'envoyer un mail à toutes les adresses qui sont stockées dans ma BDD mysql, j'ai décidé d'utiliser un petit script php:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
     
    $headers ='From: "dom"<dom@dom.fr>'."\n".'Content-Type: text/html; charset="iso-8859-1"';
    $headers .= "X-Sender: <www.site.tld>\n";
    $headers .= "X-Mailer: PHP\n";
    $headers .= "X-auth-smtp-user: email@site.tld \n";
    $headers .= "X-abuse-contact: abuse@site.tld";
    $message = 'test';
    if(mail('monadresse@hotmail.fr', 'test', $message, $headers)) {
    	echo 'le mail a ete correctement envoye';
    	}
    	else {
    	echo'erreur dans l\'envoie du mail';
    	}
    ?>
    Je fais ca directement sur mon pc, j'ai donc bien configuré le php.ini. Je lance le script, pas de problèmes, il me met que le mail a bien été envoyé.

    Cependant il a été mis dans ma boite spam. J'ai donc été chercher sur google, il paraitrait que hotmail envoie tous les mail envoyée par la fonction mail() dans le courrier indésirable, et il faudrait des header spéciaux pour contourner le problème.

    quelqu'un sait il comment faire????

    Merci d'avance

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    As tu été voir ici : http://postmaster.msn.com/Troubleshooting.aspx

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par défaut
    Merci pour le lien, cependant, je n'ai pas trouvé la solution à mon problème étant donné que c'est par php que je tente d'envoyer un mail.
    Sinon, le truc bizare, c'est que lorsque je tape leur truc pour me connecter à leur serveur dans une invite de commandes, il me met connection éxpiré.
    Cela viendrait il de la???

    Merci d'avance

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par défaut
    J'ai essayé en rajoutant des en-têtes, voici ce que donne le code maintenant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    <?php
     
    $boundary = "-----=" . md5( uniqid ( rand() ) );
    $headers = "Reply-to: \"DreamOfMidgard\" <dom@wanadoo.fr>\n";
    $headers .= "From: \"DreamOfMidgard\"<dom@wanadoo.fr>\n";
    //NOTE: l'adresse email indiquée dans le header From doit etre l'adresse absolue du serveur qui envoie les messages, et peut etre differente de votre adresse de contact si vous etes par exemple sur un serveur dedié partagé. dans mon cas l'adresse specifiee ici est <webusers@mail.nomduserveur.com>
    $headers .= "MIME-Version: 1.0\n";
    $headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
     
    $destinataire = "mon adresse@hotmail.fr";
     
    $subject = "test";
     
    $message_txt  = "Salut Alphonse\n\n";
    $message_txt .= "Ca va ?\n";
    $message_txt .= "C'était juste pour savoir..\n\n";
    $message_txt .= "A plus\n";
    $message_txt .= "toto";
     
    $message_html  = "<html>\n";
    $message_html .= "<body>\n";
    $message_html .= "<b>Salut Alphonse</b><br><br>";
    $message_html .= "Ca va ?<br>";
    $message_html .= "<font color=\"red\">C'était juste pour savoir..</font><br><br>";
    $message_html .= "A plus<br>";
    $message_html .= "<u>toto</u>";
    $message_html .= "</body>\n";
    $message_html .= "</html>\n";
     
    $message  = "This is a multi-part message in MIME format.\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_txt;
    $message .= "\n\n";
    $message .= "--" . $boundary . "\n";
    $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
    $message .= "Content-Transfer-Encoding: quoted-printable\n\n";
    $message .= $message_html;
    $message .= "\n\n";
    $message .= "--" . $boundary . "--\n";
     
    if(mail($destinataire, $subject, $message, $headers)) {
    echo 'le mail a ete correctement envoye';
    }
    else {
    echo 'probleme lors de l\envoie';
    }
    ?>
    Le problème c'est que hotmail le classe toujorus comme courrier spam.

    Quelqu'un a t il une idée?

  5. #5
    Membre chevronné Avatar de johweb
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2003
    Messages
    342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 342
    Par défaut
    As-tu essayé avec PhpMailer qui est une classe d'envoi de mail assez facile à mettre en place ?
    J'ai déjà vu des questions comme la tienne et à chaque fois, l'utilisation de cette classe a été efficace.
    http://phpmailer.codeworxtech.com/

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    213
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 213
    Par défaut
    Merci, j'ai donc téléchargé phpmail et tout, et je l'ai mis dans ma page, voci donc à quoi ressemble mon code actuel:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
    include "phpmailer/class.phpmailer.php";
     
    $mail = new PHPmailer();
    	$mail->IsSMTP();
    	$mail->Host='smtp.live.com';
    	$mail->From='dom@hotmail.fr';
    	$mail->AddAddress('yoann_35_@hotmail.fr');
    	$mail->AddReplyTo('dom@hotmail.fr');	
    	$mail->Subject='Exemple trouvé sur DVP';
    	$mail->Body='Voici un exemple d\'e-mail au format Texte';
    	if(!$mail->Send()){ //Teste le return code de la fonction
    	  echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    	}
    	else{	  
    	  echo 'Mail envoyé avec succès';
    	}
    	$mail->SmtpClose();
    	unset($mail);
     
     
    ?>
    Le probleme, c'est que lorsque je lance mon script, voci l'erreur qu'il m'affiche:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Warning: fsockopen() [function.fsockopen]: unable to connect to smtp.live.com:25 (Une tentative de connexion a échoué car le parti connecté n'a pas répondu convenablement au-delà d'une certaine durée ou une connexion établie a échoué car l'hôte de connexion n'a pas répondu. ) in C:\wamp\www\mail\phpmailer\class.smtp.php on line 105
    Language string failed to load: connect_host
    Et effectivement, lorsque je test un telnet smtp.live.com 25, il me met qu'il n'arrive pas à se connecter.

    Quelqu'un sait il pourquoi je ne peux pas joindre le serveur SMTP d'hotmail???

Discussions similaires

  1. [PHP 5.0] Fonction mail marche avec hotmail et yahoo mais pas avec gmail
    Par unix27 dans le forum Langage
    Réponses: 3
    Dernier message: 08/11/2010, 12h21
  2. Réponses: 1
    Dernier message: 20/01/2010, 16h45
  3. [Mail] E-mail avec pièce jointe et hotmail
    Par itmak dans le forum Langage
    Réponses: 1
    Dernier message: 04/09/2009, 14h48
  4. Réponses: 3
    Dernier message: 19/03/2009, 19h21
  5. Réponses: 5
    Dernier message: 29/10/2005, 16h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo