Web Developpement

Forum de discussions pour les webmasters et les web developpeurs. (PHP, SQL, XHTML, JavaScript, Référencement, Positionnement,...)

Vous n'êtes pas identifié.

#16 06-06-2008 23:21:24

Neo6
Modérateur
Lieu: Arras (62)
Date d'inscription: 25-02-2008
Messages: 112
Site web

Re: Mail dans les courriers indésirables de hotmail

Le problème d'hotmail, c'est qu'en général dès qu'une nouvelle débilité est inventée (chaine par exemple), hotmail en devient la cible ! Et oui comme c'est le service mail de messenger .. ^^


-------------------------------
PHP or not
OhMyPix (soon)

Hors ligne

 

Liens utiles

#17 07-06-2008 00:11:00

Crocxx
Webmaster
Lieu: France -> Tours (37)
Date d'inscription: 05-02-2008
Messages: 229
Site web

Re: Mail dans les courriers indésirables de hotmail

Effectivement et plus tu à de contact et plus tu reçois de chaine (hotmail c'est le paradis des spammeur). smile

Hors ligne

 

#18 16-06-2008 23:58:31

mic54800
Modérateur
Lieu: Brainville (54)
Date d'inscription: 04-04-2008
Messages: 58
Site web

Re: Mail dans les courriers indésirables de hotmail

Bon pour les mails :
Si je veux envoyer un mail sous hotmail d'une adresse du style : http://truc.free.fr, pour recevoir le message dans la boite de récéption d'hotmail, je devrais spécifier comme adresse d'expediteur : truc@free.fr
Sinon, je recevrais le mail dans les couriers indésirables !

Si jamais quelqu'un trouve une solution pour mettre une adresse ' perso ' comme adresse d'expediteur, faites moi signe wink


Mic
~> Cust.er <~

Hors ligne

 

#19 19-09-2008 22:22:33

kantchede
Nouveau
Date d'inscription: 11-09-2008
Messages: 8

Re: Mail dans les courriers indésirables de hotmail

Bonjour
J'ai une approche de solution. J'ai crée une fonction d'envoie de mail que j'utilise pour mes sites et ça envoit directement le mail dans la boïte de reception. Le hic c'est que ça vient dans la boite de reception certe seulement quand c'est la premiere fois que ça vient dans la boite de reception hotmail demande au recpteur de cliquer sur autoriser avant de lire le message. Toutefois tout ceci se passe dans la boite de reception.

Je te donne juste le code de la fonction et te montre comment l'appliquer.

Code:

<?php
/////////////////////////////////////////////////////////////////////////////////////////////
/*
Ceci est un programme permettant d'envoyer un mail au format html et/ ou texte avec ou sans  pièce jointe créé par kantchédé
*/
//Les parametres sont:
//$entetes qui est prédéfinis, toujous le même type donc ce n'est pas à vrai dire un paramètre
//$destinataire le destinataire du message
//$sujet le sujet du message
//$message_html le message au format html
//$message_texte le message au format texte
//$nom_expediteur le nom de l'expéditeur
//$email_expediteur l'email de l'expéditeur
/*$pays
 $age 
 $telephone 
 qui sont des champs facultatifs définissant respectivement le pays 
et l'age de l'expéditeur, et son téléphone que vous pouvez recuperer avec concaténation dans $message au cas où il ne sont pas remplis, on leur assigne la valeur vide. A vous d'imposer ce qui, vous plait
$pj contient la pièce jointe s'il y en a*/
///////////////////////////////////////////////////////////////////////////////////////////////
function envoyer_mail($nom_expediteur,$email_expediteur,$email_destinataire,$sujet,$message_html,$message_texte,$pj)
{
//Définition de la frontière
$frontiere='-----='.md5(uniqid(mt_rand()));

//Les entetes prédéfinis
//Entetes du mail
$entetes = "From: $nom_expediteur <$email_expediteur>\n";
$entetes .= "Return-Path: <$email_expediteur>\n";
$entetes .= "Replay-to: <$email_expediteur>\n";
$entetes .= "MIME-Version: 1.0\n";
$entetes .= "Content-Transfer-Encoding:8bit\n";
$entetes .= "X-Priority:1\n";
$entetes .= "X-MSMail-Priority: High \n";
//Si le format texte est égale à '' et $pj=''alors, on ne préconise que l'envoie au format html simple
if( ($message_texte=='')&& ($pj=='') )
{
$entetes .= 'Content-Type: text/html; boundary="'.$frontiere.'"';
}
//Si le format texte et html sont déclarés, on envoie au 2 formats 
//avec texte préconisé par certains webmails et vis versa
elseif( ($message_texte!='')&&($message_html!='') )
{
$entetes .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"';
}
//si les formats texte, html et pièce jointe sont déclarés
elseif( ($message_texte!='')&&($message_html!='')&&($pj!='') )
{
$entetes .= 'Content-Type: multipart/mixed; boundary="'.$frontiere.'"';
}
//Find de l'entete du mail

//Le message au format html se trouve dans $message_html et celui au format texte se trouve dans $message_texte
/*Au cas où l'un d'eux n'est pas déclaré, le webmaster lui assigne la valeure vide cela permettra au webmaster de paramettrer ça comme il veut.*/
//$msg est la variable qui permet l'envoie d'un mail unique
$msg = "";
//Le message au format html ne sera envoyé que si la varibale de ce message n'est pas vide
    if(!empty($message_html))
    {

        //Préparation d'Envoie du mail au format html
        $msg .="$message_html\n";
        $msg .='--'.$frontiere.'--'."\n";
                    
    }
    //Fin de si la variable $message n'est pas vide

//On envoie le mail au format texte si la variable $message_texte n'est pas vide
    if(!empty($message_texte))
    {
            //Envoie du mail au format texte
            $msg .="$message_texte\n";
            $msg .='--'.$frontiere.'--'."\n";
        
    }
    
    //envoie de la pièce jointe si elle n'est pas vide
    if(!empty($pj))
    {
            //Envoie de l'image de type jpeg
            $msg .="Content-Type: image/jpeg; name='$pj'\n";
            $msg .="Content-Tansfer-Encoding: base64\n";
            $msg .="Content-Disposition: attachement; filename='$pj'\n";
            $msg .=chunk_split(base64_encode(file_get_contents("$pj")));
            $msg .='--'.$frontiere.'--'."\n";
        
    }
    
    

//Avant d'envoyer le mail
//On verifier le format des adresses emails passé dans les parametres
//Si l'une des adresses emails n'est pas correcte, on n'envoie pas le mail
//Et on affiche que le mail n'a pas été envoyé car l'adresse email en question 
//n'est pas une adresse valide
/////////////////////////////////////////////////////////////////////////////////
//Si les adresses emails entrées pour le destinataire et pour l'expéditeur sont correctes
if( eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email_destinataire) && eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email_expediteur) ) 
{
/////////////////////////////////////////////////////////////////////////////////
    //envoie du mail
    if(@mail($email_destinataire,$sujet,$msg,$entetes))
    {
    echo"<center>Félicitation $nom_expediteur: Votre message a bien été envoyé <center>";
        /////////////////////////////////////////////////////////
        //On retourne Oui
        $retournons='Oui';
        return $retournons;
    }
    else
    {
    echo"<center><h1>Désolé!! Le message n'a pas pu être envoyé. Verifier que vous avez un serveur mail actif ou le code de programmation dans ce fichier.</h1><center>";
        /////////////////////////////////////////////////////////
        //On retourne Non
            $retournons='Non';
        return $retournons;
    }
/////////////////////////////////////////////////////////////////////////////////
}
elseif( !eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email_destinataire) && eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email_expediteur) )
{
echo "
<center><h3>
Le mail n'a pas été envoyé car l'adresse email <br>
$email_destinataire<br>
est mal écrite.<br>Calmez vous et verifiez bien cette adresse email<br>
Merci
</h3>
</center>
";
}
elseif( eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email_destinataire) && !eregi("^[_\.0-9a-z-]+@([0-9a-z-]+\.)+[a-z]{2,4}$",$email_expediteur) )
{
echo "
<center><h3>
Le mail n'a pas été envoyé car l'adresse email <br>
$email_expediteur<br>
est mal écrite.<br>Calmez vous et verifiez bien cette adresse email<br>
Merci
</h3>
</center>
";
}
else
{
echo "
<center><h3>
Le mail n'a pas été envoyé car les adresses emails<br>
$email_expediteur et $email_destinataire<br>
sont mal écrites.<br>Calmez vous et verifiez bien.<br>
Merci et que Dieu vous bénisse
</h3>
</center>
";
}

//Fin de la verification des adresses emails

/////////////////////////////////////////////////////////////////////////////////


}
//Fin de la fonction


?>

Pour utiliser cette fonction, il te suffit de l'inclure dans ta page et de faire ceci:
envoyer_mail
($nom_expediteur,$email_expediteur,$email_destinataire,$sujet,$message_html,$message_texte,$pj);
Tu remplaces :
$nom_expediteur et $email_expediteur par le nom de l'expéditeur et par son email
$email_destinataire par l'email du destianataire
$sujet par l'objet du message
NB:$message_html contient le message au format html et $message_texte le message au format texte. Si tu veux envoyer uniquement un message au format html par exemple sans y ajouter de piece jointe, il te suffit de mettre $message_texte="" et $pj=""
Exemple:
envoyer_mail("KANTCHEDE Jean-Maxime","kantchede@kantchede.com","odilon@franklin.com","Salut mon pote","Yo man<br> ça fait un bail<br>","","");
Euh voilà.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB & édité par Rudy Onfroy

Liens & partenaires