Envoie de mail, (testé avec hotmail, gmail, caramail)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 90 183 fois - Téléchargée 27 fois

Contenu du snippet

Il est difficle de reussir a envoyer des mails html qui ne soient pas supprimés par hotmail ou qui arrivent vides. (de nombreuses questions dans les forums le prouvent).

Cette fonction simple permet d'envoyer des mails text et html compatible avec notamment hotmail, gmail, caramail).

Source / Exemple :


//Jeremy Cardon, 2005
//Si vous utilisez ce code, un petit lien vers http://www.attractionland.com dans votre rubrique liens est toujours apprécié
//

function email($destinataire, $sujet , $messtxt, $messhtml,$mailfrom="noreply@votresite.com",$namefrom="votresite.com") 
{ 

$boundary = "_".md5 (uniqid (rand()));
$entete = "MIME-Version: 1.0\n";

$entete .= "X-Sender: <www.votrsite.com>\n";
$entete .= "X-Mailer: PHP\n";
$entete .= "X-auth-smtp-user: webmaster@votresite.com \n";
$entete .= "X-abuse-contact: abuse@votresite.com \n";

$entete .= "Reply-to: $namefrom <$mailfrom>\n";
$entete .= "From:$namefrom <www-data@planet-work.com>\n"; www-data@planet-work.com , dépend de votre hebergeur, envoyé vous un mail depuis la fonction mail sur une adresse non filtrée pour récuperer cette valeur

$entete .= "Content-Type: multipart/alternative; boundary=\"$boundary\""; 

$message = "--" . $boundary . "\n"; 
$message.= "This is a multi-part message in MIME format.\n\n"; 

$message .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n"; 
$message .= "Content-Transfer-Encoding: quoted-printable\n\n"; 
$message .= $messtxt; 
$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 .= str_replace("=","=3D",$messhtml); 
$message .= "\n\n"; 

return @mail($destinataire, $sujet, $message, $entete); 
}

email("test@hotmail.com","salut","Alors quoi de neuf depuis le tesmp?\n ca va?\n","Alors quoi de neuf depuis le temps ? <br>Ca va?<br><br>","adressedelexpediteur@hotmail.com","Nom de l'expediteur");

Conclusion :


Si vous voulez voir si ca fonctionne:-) Rendez vous ici <a href="http://www.attractionland.com" target="_blank">http://www.attractionland.com</A>

A voir également

Ajouter un commentaire

Commentaires

Messages postés
35
Date d'inscription
dimanche 14 août 2005
Statut
Membre
Dernière intervention
4 juin 2007

Bonjour,

Pour que vos mails soit autorisés à être envoyé sur les boites de réception des utilisateurs de Hotmail (Live),
Vous devez mettre en places les exigences demandés par la politique d'Hotmail :

1- Ajouter un champ SPF (ou TXT) dans la configuration DNS de votre nom de domaine.
Pour moi j'ai ajouté: tropub.com. IN TXT "v=spf1 a mx ptr ~all"

2- Vous inscrire dans le "Junk Mail Reporting Program (JMRP)" de Microsoft à cette adresse:
https://support.msn.com/eform.aspx?productKey=edfsjmrpp&ct=eformts

J'ai reçu la réponse "We've successfully added your domain to our Sender ID queue." 2 jours après avoir envoyé le formulaire.

Pour que vos mails puissent ensuite être bien traités vous devez utiliser le modèle de header suivant :

X-Sender: <tropub.com>
X-auth-smtp-user: jonathan@tropub.com
MIME-Version:1.0
Content-Type: text/html; charset=iso-8859-1

Si ça ne marche toujours pas je vous invite à lire le PDF qui explique bien tout ( en anglais ):
http://download.microsoft.com/download/e/3/3/e3397e7c-17a6-497d-9693-78f80be272fb/enhance_deliver.pdf

Pour que tout fonctionne bien j'ai installé un serveur mail sur mon serveur en suivant ce tutoriel:
http://ll.lairdutemps.org/linux/howto/postfix

Et ensuite pour envoyer les mails avec php j'utilise les packages Mail et Net_SMTP du module PEAR.

Jonathan.
Messages postés
2
Date d'inscription
lundi 20 décembre 2004
Statut
Membre
Dernière intervention
13 août 2009

salut,

ptimushu j'ai le même souci que toi j'ai effectué quelques test et au bout d'un moment plus rien je n'ai même plus de mails même pas dans le courrier indésirable il n'arrive pas du tout !
alors que sur les autres boites testé ca marche !
Comment cela se fait il?
si vous avez le pourquoi du comment je suis preneur..
Je vais tout de même essayer ton script drpark
Merci
Messages postés
29
Date d'inscription
lundi 9 avril 2007
Statut
Membre
Dernière intervention
19 mars 2010

Pas DRPARK pour ton script, après plusieurs essais pour comprendre un peu le systemen ma boite hotmail recevait les mails.
Sauf que je ne sais si c'est parce que j'enchainais les essais, mais au bout d'un moment, hotmail ne recevait plus...est-ce qu'à force d'essayer, ils m'ont blacklisté ?
Messages postés
8
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
11 novembre 2008

tu as utilisé quoi pour le login /pass de ton site ?
Messages postés
34
Date d'inscription
dimanche 16 novembre 2003
Statut
Membre
Dernière intervention
24 octobre 2009

Hola!

Après avoir fouiller un peu partout et bidouiller des bouts de codes, il y a encore quelques trucs qui m'échappent concernant smtp et envoie de mail.

Du genre :

à quoi correspond le "X-abuse-contact: abuse@votresite.com" ?
Pour l'instant j'ai mis contact@monsite.com, mais aucune idée de ce que ca fait...

Pour "X-auth-smtp-user:" j'ai mis info@monsite.com , je pense que c'est bon, si j'ai bien compris ca correspond à peu près au "From" ?

Et aussi, "boundary" ca sert à coup en fait?
Et Sender-id dans tout ca?

Enfin voilà, c'est juste pour comprendre comment ca fonctionne.

Sinon dans mes recherches, je suis tombé sur des articles, ca peut ptete en aider quelques uns, notament l'histoire de la whitelist d'hotmail : http://www.ecoms.fr/wordpress/ecoms/rendre-ses-mails-desirables/

J'ai trouvé ca aussi, mais là ca me depasse : http://www.lephpfacile.com/forum/8-autres-technologies/5777-configuration-de-sender-id-anti-spam-d-hotmail/page-1.php
Afficher les 46 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.