begin process at 2012 05 27 20:19:05
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Astuces

 > FONCTION ENVOI DE MAIL PHP QUI PERMET DE PASSER LE FILTRE ANTI SPAM

FONCTION ENVOI DE MAIL PHP QUI PERMET DE PASSER LE FILTRE ANTI SPAM


 Information sur la source

Note :
5,5 / 10 - par 2 personnes
5,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Astuces Classé sous :mail, antispam, spam, code, application Niveau :Débutant Date de création :27/04/2011 Date de mise à jour :28/04/2011 02:45:08 Vu :3 826

Auteur : alienat

Ecrire un message privé
Site perso
Commentaire sur cette source (14)
Ajouter un commentaire et/ou une note

 Description

Tout est dans le titre :)

C'est une fonction qui vous permettra de passer outre les filtres antispam des hébergeurs de messagerie tels que Hotmail Yahoo ou Gmail.

Source

  • <?php
  • date_default_timezone_set("Europe/Paris");
  • function envoyermail($mail, $emailsubject, $contenu, $fromname, $frommail, $organisation, $textorhtml, $timezone) {
  • error_reporting(0);
  • if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $eol="\r\n"; }
  • elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $eol="\r"; }
  • else { $eol="\n"; }
  • $headers = 'Reply-To: '.$fromname.' <'.$frommail.'>'.$eol;
  • $headers .= 'Return-Path: '.$fromname.' <'.$frommail.'>'.$eol;
  • $headers .= 'From: '.$fromname.' <'.$frommail.'>'.$eol;
  • $headers .= 'Organization: '.$organisation.$eol;
  • if($textorhtml=="0") { $headers .= 'Content-Type: text/plain'.$eol; }
  • else { $headers .= "Content-Type: text/html; charset=iso-8859-1".$eol; }
  • $headers .= "X-Priority: normal".$eol;
  • $headers .= "X-MSMail-Priority: Normal".$eol;
  • $headers .= "Importance: High".$eol;
  • $headers .= "X-Mailer: PHP v" . phpversion().$eol;
  • $headers .= "MIME-Version: 1.0".$eol;
  • $headers .= "Delivery-date: ".date("D, j M Y H:i:s ".$timezone).$eol;
  • $headers .= "X-Originating-IP: [".getenv("REMOTE_ADDR")."]".$eol;
  • $headers .= "X-Sender-IP: " . $_SERVER["REMOTE_ADDR"].$eol;
  • $headers .= "Content-Transfer-Encoding: 8bit".$eol;
  • $headers .= 'Sender: '.$frommail.$eol;
  • ob_start();
  • echo stripslashes($contenu);
  • $body=ob_get_contents(); ob_end_clean();
  • ini_set(sendmail_from,$frommail);
  • mail($mail, $emailsubject, $body, $headers);
  • ini_restore(sendmail_from);
  • error_reporting(-1);
  • }
  • envoyermail("mail@destinataire.tld", "SUJET DU MAIL", "<h3>CONTENU HTML DE L'EMAIL</h3>", "NOM EXPEDITEUR", "mail@expediteur.tld", "Organisation", "1", "+0100");
  • ?>
  • VOICI UN EXEMPLE PRATIQUE :
  • <?php
  • date_default_timezone_set("Europe/Paris");
  • function envoyermail($mail, $emailsubject, $contenu, $fromname, $frommail, $organisation, $textorhtml, $timezone) {
  • error_reporting(0);
  • if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $eol="\r\n"; }
  • elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $eol="\r"; }
  • else { $eol="\n"; }
  • $headers = 'Reply-To: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
  • $headers .= 'Return-Path: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
  • $headers .= 'From: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
  • $headers .= 'Organization: '.$organisation.$eol;
  • if($textorhtml=="0") { $headers .= 'Content-Type: text/plain'.$eol; }
  • else { $headers .= "Content-Type: text/html; charset=iso-8859-1".$eol; }
  • $headers .= "X-Priority: normal".$eol;
  • $headers .= "X-MSMail-Priority: Normal".$eol;
  • $headers .= "Importance: High".$eol;
  • $headers .= "X-Mailer: PHP v" . phpversion().$eol;
  • $headers .= "MIME-Version: 1.0".$eol;
  • $headers .= "Delivery-date: ".date("D, j M Y H:i:s ".$timezone).$eol;
  • $headers .= "X-Originating-IP: [".getenv("REMOTE_ADDR")."]".$eol;
  • $headers .= "X-Sender-IP: " . $_SERVER["REMOTE_ADDR"].$eol;
  • $headers .= "Content-Transfer-Encoding: 8bit".$eol;
  • $headers .= 'Sender: '.$frommail.$eol;
  • ob_start();
  • echo stripslashes($contenu);
  • $body=ob_get_contents(); ob_end_clean();
  • ini_set('sendmail_from',$frommail);
  • mail($mail, stripslashes($emailsubject), $body, $headers);
  • ini_restore('sendmail_from');
  • error_reporting(-1);
  • }
  • $err=''; $succ="";
  • if(isset($_POST['envoyer'])) {
  • $mailto=trim($_POST['mail']);
  • $verif=$mailto; $t1=explode("@",$verif); $t2=explode(".",$t1[1]); $t3=explode(" ",$verif); $t5=explode(".@",$verif); $t6=explode("@.",$verif);
  • if((sizeof ($t1) == 2) && (sizeof ($t2) > 1) && (sizeof ($t3) == 1) && (sizeof ($t5) == 1) && (sizeof ($t6) == 1)){
  • $subject=addslashes(trim($_POST['sujet']));
  • $contenu=addslashes($_POST['message']);
  • $nomprenom=addslashes(strtoupper(trim($_POST['nom'])).' '.ucwords(strtolower(trim($_POST['prenom']))));
  • envoyermail("MON_MAIL@POUR_LA_RECEPTION.FR", $subject, $contenu, $nomprenom, $mailto, "MA SOCIETE", "1", "+0100");
  • $succ="Envoi r&eacute;ussi !";
  • }
  • else { $err='Le format de l\'E-Mail saisie est incorrect'; }
  • }
  • ?>
  • <form action="" method="post">
  • <?php if($err) { ?><font color="red"><?php echo $err; ?></font><?php } ?>
  • <?php if($succ) { ?><font color="green"><?php echo $succ; ?></font><?php } ?>
  • <table cellpadding="0" cellspacing="0" border="0">
  • <tr><td>Nom</td><td><input type="text" name="nom" /></td></tr>
  • <tr><td>Pr&Eacute;nom</td><td><input type="text" name="prenom" /></td></tr>
  • <tr><td>E-Mail</td><td><input type="text" name="mail" /></td></tr>
  • <tr><td>Sujet</td><td><input type="text" name="sujet" /></td></tr>
  • <tr><td valign="top">Message</td><td><textarea name="message"></textarea></td></tr>
  • <tr><td colspan="2" align="center"><input type="submit" name="envoyer" value="Valider" /></td></tr>
  • </table>
  • </form>
  • Exemple MASS MAILER :
  • <?php
  • date_default_timezone_set("Europe/Paris");
  • function envoyermail($mail, $emailsubject, $contenu, $fromname, $frommail, $organisation, $textorhtml, $timezone) {
  • error_reporting(0);
  • if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $eol="\r\n"; }
  • elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $eol="\r"; }
  • else { $eol="\n"; }
  • $headers = 'Reply-To: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
  • $headers .= 'Return-Path: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
  • $headers .= 'From: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
  • $headers .= 'Organization: '.$organisation.$eol;
  • if($textorhtml=="0") { $headers .= 'Content-Type: text/plain'.$eol; }
  • else { $headers .= "Content-Type: text/html; charset=iso-8859-1".$eol; }
  • $headers .= "X-Priority: normal".$eol;
  • $headers .= "X-MSMail-Priority: Normal".$eol;
  • $headers .= "Importance: High".$eol;
  • $headers .= "X-Mailer: PHP v" . phpversion().$eol;
  • $headers .= "MIME-Version: 1.0".$eol;
  • $headers .= "Delivery-date: ".date("D, j M Y H:i:s ".$timezone).$eol;
  • $headers .= "X-Originating-IP: [".getenv("REMOTE_ADDR")."]".$eol;
  • $headers .= "X-Sender-IP: " . $_SERVER["REMOTE_ADDR"].$eol;
  • $headers .= "Content-Transfer-Encoding: 8bit".$eol;
  • $headers .= 'Sender: '.$frommail.$eol;
  • ob_start();
  • echo stripslashes($contenu);
  • $body=ob_get_contents(); ob_end_clean();
  • ini_set('sendmail_from',$frommail);
  • $emails=split("\n", $mail);
  • for($i=0; $i<count($emails); $i++) {
  • $verif=trim($emails[$i]); $t1=explode("@",$verif); $t2=explode(".",$t1[1]); $t3=explode(" ",$verif); $t5=explode(".@",$verif); $t6=explode("@.",$verif);
  • if((sizeof ($t1) == 2) && (sizeof ($t2) > 1) && (sizeof ($t3) == 1) && (sizeof ($t5) == 1) && (sizeof ($t6) == 1)){
  • mail(trim($emails[$i]), stripslashes($emailsubject), $body, $headers);
  • echo "Envoy&eacute; &agrave; ".$emails[$i]."<br />";
  • }
  • }
  • ini_restore('sendmail_from');
  • error_reporting(-1);
  • }
  • $err=''; $succ="";
  • if(isset($_POST['envoyer'])) {
  • $mailto=trim($_POST['mail']);
  • $subject=addslashes(trim($_POST['sujet']));
  • $contenu=addslashes($_POST['message']);
  • envoyermail($mailto, $subject, $contenu, "NOM PRENOM", "admin@mymail.com", "MA SOCIETE", "1", "+0100");
  • $succ="Envoi r&eacute;ussi !";
  • }
  • ?>
  • <form action="" method="post">
  • <?php if($err) { ?><font color="red"><?php echo $err; ?></font><?php } ?>
  • <?php if($succ) { ?><font color="green"><?php echo $succ; ?></font><?php } ?>
  • <table cellpadding="0" cellspacing="0" border="0">
  • <tr><td valign="top">E-Mails</td><td><textarea name="mail"></textarea></td></tr>
  • <tr><td>Sujet</td><td><input type="text" name="sujet" /></td></tr>
  • <tr><td valign="top">Message</td><td><textarea name="message"></textarea></td></tr>
  • <tr><td colspan="2" align="center"><input type="submit" name="envoyer" value="Valider" /></td></tr>
  • </table>
  • </form>
<?php
date_default_timezone_set("Europe/Paris");
function envoyermail($mail, $emailsubject, $contenu, $fromname, $frommail, $organisation, $textorhtml, $timezone) {
	error_reporting(0);
	if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $eol="\r\n"; }
	elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $eol="\r"; }
	else { $eol="\n"; }

    $headers = 'Reply-To: '.$fromname.' <'.$frommail.'>'.$eol; 
    $headers .= 'Return-Path: '.$fromname.' <'.$frommail.'>'.$eol; 
	$headers .= 'From: '.$fromname.' <'.$frommail.'>'.$eol;
	$headers .= 'Organization: '.$organisation.$eol;
	if($textorhtml=="0") { $headers .= 'Content-Type: text/plain'.$eol; }
	else { $headers .= "Content-Type: text/html; charset=iso-8859-1".$eol; }
	$headers .= "X-Priority: normal".$eol;
	$headers .= "X-MSMail-Priority: Normal".$eol;
	$headers .= "Importance: High".$eol;
	$headers .= "X-Mailer: PHP v" . phpversion().$eol;
	$headers .= "MIME-Version: 1.0".$eol;
	$headers .= "Delivery-date: ".date("D, j M Y H:i:s ".$timezone).$eol;
	$headers .= "X-Originating-IP: [".getenv("REMOTE_ADDR")."]".$eol;
	$headers .= "X-Sender-IP: " . $_SERVER["REMOTE_ADDR"].$eol;
	$headers .= "Content-Transfer-Encoding: 8bit".$eol; 
	$headers .= 'Sender: '.$frommail.$eol; 

	ob_start();
	echo stripslashes($contenu);
	$body=ob_get_contents(); ob_end_clean();
	
	ini_set(sendmail_from,$frommail);
	mail($mail, $emailsubject, $body, $headers);
	ini_restore(sendmail_from);
	error_reporting(-1);
}
envoyermail("mail@destinataire.tld", "SUJET DU MAIL", "<h3>CONTENU HTML DE L'EMAIL</h3>", "NOM EXPEDITEUR", "mail@expediteur.tld", "Organisation", "1", "+0100");
?>




VOICI UN EXEMPLE PRATIQUE :

<?php
date_default_timezone_set("Europe/Paris");
function envoyermail($mail, $emailsubject, $contenu, $fromname, $frommail, $organisation, $textorhtml, $timezone) {
	error_reporting(0);
	if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $eol="\r\n"; }
	elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $eol="\r"; }
	else { $eol="\n"; }
	$headers = 'Reply-To: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
	$headers .= 'Return-Path: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
	$headers .= 'From: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
	$headers .= 'Organization: '.$organisation.$eol;
	if($textorhtml=="0") { $headers .= 'Content-Type: text/plain'.$eol; }
	else { $headers .= "Content-Type: text/html; charset=iso-8859-1".$eol; }
	$headers .= "X-Priority: normal".$eol;
	$headers .= "X-MSMail-Priority: Normal".$eol;
	$headers .= "Importance: High".$eol;
	$headers .= "X-Mailer: PHP v" . phpversion().$eol;
	$headers .= "MIME-Version: 1.0".$eol;
	$headers .= "Delivery-date: ".date("D, j M Y H:i:s ".$timezone).$eol;
	$headers .= "X-Originating-IP: [".getenv("REMOTE_ADDR")."]".$eol;
	$headers .= "X-Sender-IP: " . $_SERVER["REMOTE_ADDR"].$eol;
	$headers .= "Content-Transfer-Encoding: 8bit".$eol;
	$headers .= 'Sender: '.$frommail.$eol;
	ob_start();
	echo stripslashes($contenu);
	$body=ob_get_contents(); ob_end_clean();
	ini_set('sendmail_from',$frommail);
	mail($mail, stripslashes($emailsubject), $body, $headers);
	ini_restore('sendmail_from');
	error_reporting(-1);
}
$err=''; $succ="";
if(isset($_POST['envoyer'])) {
	$mailto=trim($_POST['mail']);
	$verif=$mailto; $t1=explode("@",$verif); $t2=explode(".",$t1[1]); $t3=explode(" ",$verif); $t5=explode(".@",$verif); $t6=explode("@.",$verif);
	if((sizeof ($t1) == 2) && (sizeof ($t2) > 1) && (sizeof ($t3) == 1) && (sizeof ($t5) == 1) && (sizeof ($t6) == 1)){
		$subject=addslashes(trim($_POST['sujet']));
		$contenu=addslashes($_POST['message']);
		$nomprenom=addslashes(strtoupper(trim($_POST['nom'])).' '.ucwords(strtolower(trim($_POST['prenom']))));
		envoyermail("MON_MAIL@POUR_LA_RECEPTION.FR", $subject, $contenu, $nomprenom, $mailto, "MA SOCIETE", "1", "+0100");
		$succ="Envoi r&eacute;ussi !";
	}
	else { $err='Le format de l\'E-Mail saisie est incorrect'; }
}
?>


<form action="" method="post">
<?php if($err) { ?><font color="red"><?php echo $err; ?></font><?php } ?>
<?php if($succ) { ?><font color="green"><?php echo $succ; ?></font><?php } ?>
<table cellpadding="0" cellspacing="0" border="0">
<tr><td>Nom</td><td><input type="text" name="nom" /></td></tr>
<tr><td>Pr&Eacute;nom</td><td><input type="text" name="prenom" /></td></tr>
<tr><td>E-Mail</td><td><input type="text" name="mail" /></td></tr>
<tr><td>Sujet</td><td><input type="text" name="sujet" /></td></tr>
<tr><td valign="top">Message</td><td><textarea name="message"></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="envoyer" value="Valider" /></td></tr>
</table>
</form>



Exemple MASS MAILER :

<?php
date_default_timezone_set("Europe/Paris");
function envoyermail($mail, $emailsubject, $contenu, $fromname, $frommail, $organisation, $textorhtml, $timezone) {
	error_reporting(0);
	if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $eol="\r\n"; }
	elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $eol="\r"; }
	else { $eol="\n"; }
	$headers = 'Reply-To: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
	$headers .= 'Return-Path: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
	$headers .= 'From: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
	$headers .= 'Organization: '.$organisation.$eol;
	if($textorhtml=="0") { $headers .= 'Content-Type: text/plain'.$eol; }
	else { $headers .= "Content-Type: text/html; charset=iso-8859-1".$eol; }
	$headers .= "X-Priority: normal".$eol;
	$headers .= "X-MSMail-Priority: Normal".$eol;
	$headers .= "Importance: High".$eol;
	$headers .= "X-Mailer: PHP v" . phpversion().$eol;
	$headers .= "MIME-Version: 1.0".$eol;
	$headers .= "Delivery-date: ".date("D, j M Y H:i:s ".$timezone).$eol;
	$headers .= "X-Originating-IP: [".getenv("REMOTE_ADDR")."]".$eol;
	$headers .= "X-Sender-IP: " . $_SERVER["REMOTE_ADDR"].$eol;
	$headers .= "Content-Transfer-Encoding: 8bit".$eol;
	$headers .= 'Sender: '.$frommail.$eol;
	ob_start();
	echo stripslashes($contenu);
	$body=ob_get_contents(); ob_end_clean();
	ini_set('sendmail_from',$frommail);

	$emails=split("\n", $mail);
	for($i=0; $i<count($emails); $i++) {
		$verif=trim($emails[$i]); $t1=explode("@",$verif); $t2=explode(".",$t1[1]); $t3=explode(" ",$verif); $t5=explode(".@",$verif); $t6=explode("@.",$verif);
		if((sizeof ($t1) == 2) && (sizeof ($t2) > 1) && (sizeof ($t3) == 1) && (sizeof ($t5) == 1) && (sizeof ($t6) == 1)){
			mail(trim($emails[$i]), stripslashes($emailsubject), $body, $headers);
			echo "Envoy&eacute; &agrave; ".$emails[$i]."<br />";
		}
	}
	ini_restore('sendmail_from');
	error_reporting(-1);
}
$err=''; $succ="";
if(isset($_POST['envoyer'])) {
	$mailto=trim($_POST['mail']);
	$subject=addslashes(trim($_POST['sujet']));
	$contenu=addslashes($_POST['message']);
	envoyermail($mailto, $subject, $contenu, "NOM PRENOM", "admin@mymail.com", "MA SOCIETE", "1", "+0100");
	$succ="Envoi r&eacute;ussi !";
}
?>


<form action="" method="post">
<?php if($err) { ?><font color="red"><?php echo $err; ?></font><?php } ?>
<?php if($succ) { ?><font color="green"><?php echo $succ; ?></font><?php } ?>
<table cellpadding="0" cellspacing="0" border="0">
<tr><td valign="top">E-Mails</td><td><textarea name="mail"></textarea></td></tr>
<tr><td>Sujet</td><td><input type="text" name="sujet" /></td></tr>
<tr><td valign="top">Message</td><td><textarea name="message"></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="envoyer" value="Valider" /></td></tr>
</table>
</form>

 Conclusion

Bon courage :)


 Historique

28 avril 2011 01:00:48 :
Le code a été modifié pour ajouter un exemple pratique !
28 avril 2011 02:33:37 :
ERREUR DE COMPILATION + ajout d'exemple
28 avril 2011 02:45:08 :
CORRECTIFS

 Sources de la même categorie

AFFICHÉ SUR UN TABLEAU AVEC PAGINATION ET BASE DE DONNÉES par stormxp
Source avec Zip Source avec une capture GENERATEUR D'ONGLET DE NAVIGATION PHP par pos123
FORMATER UN LIEN YOUTUBE, DAILYMOTION OU VIMEO POUR L'UTILIS... par kgb93
Source avec Zip Source avec une capture PAGINATION + FICHIER CSS par profdi
Source avec Zip Source avec une capture SYSTEME D'AUTHENTIFICATION PHP AVEC PROTÉCTION KEYLOGGER par mtrix000

 Sources en rapport avec celle ci

Source avec Zip ENVOIE MAIL EN HTML AVEC PHP PAS DE SPAM SUR HOTMAIL ET GMAI... par Dje33
CAPTCHA, GENERATEUR UNE IMAGE AVEC LE CODE VOULUT ( SYSTEME ... par greenzest
Source avec Zip Source avec une capture IMAGE ANTI-SPAM par coockiesch
Source avec Zip Source avec une capture CLASS PERMETTANT DE CRÉER UNE IMAGE POUR LA VALIDATION D'UN ... par patcui
ANTI SPAM (BROUILLAGE D'ADRESSE MAIL) par coucou747

Commentaires et avis

Commentaire de masaya le 27/04/2011 23:32:07

je cherche une application de site web

Commentaire de alienat le 28/04/2011 00:58:48

<?php
date_default_timezone_set("Europe/Paris");
function envoyermail($mail, $emailsubject, $contenu, $fromname, $frommail, $organisation, $textorhtml, $timezone) {
error_reporting(0);
if (strtoupper(substr(PHP_OS,0,3)=='WIN')) { $eol="\r\n"; }
elseif (strtoupper(substr(PHP_OS,0,3)=='MAC')) { $eol="\r"; }
else { $eol="\n"; }
$headers = 'Reply-To: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
$headers .= 'Return-Path: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
$headers .= 'From: '.stripslashes($fromname).' <'.$frommail.'>'.$eol;
$headers .= 'Organization: '.$organisation.$eol;
if($textorhtml=="0") { $headers .= 'Content-Type: text/plain'.$eol; }
else { $headers .= "Content-Type: text/html; charset=iso-8859-1".$eol; }
$headers .= "X-Priority: normal".$eol;
$headers .= "X-MSMail-Priority: Normal".$eol;
$headers .= "Importance: High".$eol;
$headers .= "X-Mailer: PHP v" . phpversion().$eol;
$headers .= "MIME-Version: 1.0".$eol;
$headers .= "Delivery-date: ".date("D, j M Y H:i:s ".$timezone).$eol;
$headers .= "X-Originating-IP: [".getenv("REMOTE_ADDR")."]".$eol;
$headers .= "X-Sender-IP: " . $_SERVER["REMOTE_ADDR"].$eol;
$headers .= "Content-Transfer-Encoding: 8bit".$eol;
$headers .= 'Sender: '.$frommail.$eol;
ob_start();
echo stripslashes($contenu);
$body=ob_get_contents(); ob_end_clean();
ini_set('sendmail_from',$frommail);
mail($mail, stripslashes($emailsubject), $body, $headers);
ini_restore('sendmail_from');
error_reporting(-1);
}
$err=''; $succ="";
if(isset($_POST['envoyer'])) {
$mailto=trim($_POST['mail']);
$verif=$mailto; $t1=explode("@",$verif); $t2=explode(".",$t1[1]); $t3=explode(" ",$verif); $t5=explode(".@",$verif); $t6=explode("@.",$verif);
if((sizeof ($t1) == 2) && (sizeof ($t2) > 1) && (sizeof ($t3) == 1) && (sizeof ($t5) == 1) && (sizeof ($t6) == 1)){
$subject=addslashes(trim($_POST['sujet']));
$contenu=addslashes($_POST['message']);
$nomprenom=addslashes(strtoupper(trim($_POST['nom'])).' '.ucwords(strtolower(trim($_POST['prenom']))));
envoyermail("MON_MAIL@POUR_LA_RECEPTION.FR", $subject, $contenu, $nomprenom, $mailto, "MA SOCIETE", "1", "+0100");
$succ="Envoi r&eacute;ussi !"
}
else { $err='Le format de l\'E-Mail saisie est incorrect'; }
}
?>


<form action="" method="post">
<?php if($err) ?><font color="red"><?php echo $err; ?></font><?php } ?>
<?php if($succ) ?><font color="green"><?php echo $succ; ?></font><?php } ?>
<table cellpadding="0" cellspacing="0" border="0">
<tr><td>Nom</td><td><input type="text" name="nom" /></td></tr>
<tr><td>Pr&Eacute;nom</td><td><input type="text" name="prenom" /></td></tr>
<tr><td>E-Mail</td><td><input type="text" name="mail" /></td></tr>
<tr><td>Sujet</td><td><input type="text" name="sujet" /></td></tr>
<tr><td valign="top">Message</td><td><textarea name="message"></textarea></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="envoyer" value="Valider" /></td></tr>
</table>
</form>

Commentaire de alienat le 28/04/2011 02:23:55

Pour ceux qui veulent utiliser un Mass Mailer, vous transformez


mail($mail[$i], stripslashes($emailsubject), $body, $headers);

par :

$emails= split("\n", $mail);
for($i=0; $i<count($emails); $i++) {
mail($mail[$i], stripslashes($emailsubject), $body, $headers);
}



Et vous transformez
<input type="text" name="mail" />
par <textarea name="mail"></textarea>

Commentaire de janhsh le 28/04/2011 16:31:56 3/10

pourquoi tu met $eol="\r\n";  et $eol="\r";
La norme  RFC822 impose que les entête de mail se termine exclusivement par \r\n

Commentaire de jantoine le 28/04/2011 17:20:16

bonjour,
Ça a l'air super, dommage du peut de commentaire...
Cdt
Antoine

Commentaire de alienat le 29/04/2011 00:37:59

pourquoi tu met $eol="\r\n";  et $eol="\r";
La norme  RFC822 impose que les entête de mail se termine exclusivement par \r\n

Je ne connais pas cette norme...
Mais par contre vous pouvez mettre chr(13) à la place de $eol...

Commentaire de alain04 le 02/05/2011 07:52:18

Bonjour ALIENAT,
j'utilise PG-MALINGLIST-PRO et je n'arrive pas à faire fonctionner ton astuce avec ce soft.
Tu as une idée du pourquoi?
Merci.

Commentaire de 5prpali le 02/05/2011 10:39:09

Tout cela est très bien pour la pédagogie et prendre note des spécificités de la norme RFC822.
Mais quand on pratique on devient très paresseux et personnellement j'utilise la classe RMAIL qui me fournit tous les méthodes pour faire des E-mailings nickel et me laisse un code php propre et très lisible.  

Commentaire de McGyver59 le 10/05/2011 16:47:17

Je viens de tester celui en email de masse et Gmail met les emails dans les spams

Commentaire de janhsh le 10/05/2011 19:43:48

il existe des tas de classe pour envoyer des mails, certaine plus compliquées les unes que les autres

- phplib (http://sourceforge.net/projects/phplib) qui contient une classe d'envoi des mails (très compliquer à utiliser)

- phpMailer (sourceforge.net/projects/phpmailer) qui est une classe assez lourde, mais souvent utilisée, certaine fonctions sont manquantes.

- SendMail : Classe très complète et facile à utiliser en conservant un code php très propre.  ( http://www.phpcs.com/codes/CLASSE-MESSAGERIE_44094.aspx ) - Cette classe fut créé pour pallier à l'absence de certaines fonctionnalité et aussi à la lourdeur des usines à gaz comme phpMailer


Toutes ces classe sont sous licence GPL ou équivalent ==> Librement réutilisable

Par contre en ce qui concerne RMAIL (http://rubydoc.info/gems/rmail/1.0.0/RMail ), il est sous licence propriétaire ==> non réutilisable sans avoir acquis la licence.



Commentaire de McGyver59 le 10/05/2011 20:28:41 8/10

Ok je vais voir sa car j'ai essayez plein de script et a chaque fois les emails reviennent non distribuée le plus c'est orange qui ne les distribu pas considéré comme spam

Commentaire de claude77260 le 11/05/2011 12:52:28

Bonjour,

sur le 3eme script envoi emailing,le fonctionnement est ok sur 1 émail mais pas sur deux séparés par une virgule

merci d'avance

Commentaire de kaunis le 12/05/2011 11:56:34

Bonjour,

Je n'arrive  à faire fonctionner ce code. Un message s'affiche en disant que l'email est bien parti mais aucun email n'arrive sur la boîte de réception.
L'envoi en masse affiche que le format de l'email n'est pas correct (avec le code modifié comme spécifié)

Merci pour vos réponses

Commentaire de janhsh le 21/05/2011 19:42:00


Petite remarque importante concernant l'assimilation des mails aux spam!

Maintenant, pour pouvoir envoyer des mails sur certains domaines, il faut que votre domaine soit équipé d'un enregistrement SPF (Sender Policy Framework)

En gros, l'enregistrement SPF d'un domaine doit contenir les domaines et IP qui sont autorisé à envoyer des mails pour ce domaine
Lorsque l'on envoi le mail à un client protégé par un antispam qui contrôle le SPF, l'antispam va vérifier si l'adresse IP et le domaines d'origine de l'expéditeur se trouve bien dans la liste des adresses autorisées. Si ce n'est pas le cas, le mail est non seulement rejeté, mais l'IP et domaine de l'expéditeur sont communiqué à des serveurs de liste noire.

Quand le domaine n'a pas de SPF, cela dépend de la config du client, certains accepte quand même l'envoi d'autre le refuse.

En dehors de cela, la structure des séquences IP du mail doit être correcte. Si elle est altérées, le mail est systématiquement considéré comme frauduleux

Celà resemble à :

Received: from srv5.serveur2.com (root@localhost)
by domain.be (9.12.7/9.12.7) with ESMTP id o1g3ed2y8k2d3g3
for <moi@skynet.be>; Sat, 21 May 2011 10:42:39 +0200
X-ClientAddr: 10.11.12.63
Received: from mx1.anti-spam.lu (mx1.anti-spam.lu [10.11.12.63])
by srv5.serveur2.com (9.12.7/9.12.7) with ESMTP id o1g3ed2y2f3df5u
for <moi@skynet.be>; Sat, 21 May 2011 10:42:39 +0200

Cette structure est écrite par les serveurs qui reçoivent successivement le mail. Chaque serveur indique son IP et adresses ainsi que l'IP et adresse de celui qui lui à envoyé le mail (X-ClientAddr).

Lorsqu'un serveur reçoit le mail, il vérifie si les entêtes sont dans un ordre temporel croisant et si dans cet ordre les adresses de l'expéditeur jusqu'au serveur lui même est correcte.
La présence d'une entrée non valide ou manquante produit le refus du mail.


Pour l'explication des SPF: Voir les lien suivants:  
http://www.falconnet.fr/SPF-Proteger-ses-domaines-du-SPAM.html
http://www.amenwiki.com/index.php/Comment_configurer_le_SPF_%3F
http://www.google.com/support/a/bin/answer.py?hl=fr&answer=33786





 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Mail et anti-spam? [ par Varod ] Bonjour tout le monde,Dans une application de sondage en ligne, j'utilises la fonction mail pr envoyer un lien vers le site ou est hebergé mon applica Voila j'ai fais un bouh de code pour envoyer des mail [ par timolerigolo ] Bonjour,Voila j'ai fais un bouh de code PHP pour envoyer des Mail mé je ne sé pas si le code et bon et comme je ne resoie pas de mail je ne sé pas.... Recup code html de fichier pour envoyer par mail() [ par Magidev ] Je souhaite récuperer le code d'un fichier HTML de mon site pour l'envoyer par mail au meme formatDans ce code HTML il ya des var php du style $mavarE fonction mail -> 23 caracteres max. [ par attentio ] bonsoir G un soucis pour envoyer des mails depuis mon siteen fait ce qu'il se passe C que si mon message a une chaine de caractere supérieur a 23 cara E-mail de newsletter est considerer comme spam [ par elmekki ] Bonsoir,j'ai integr&#233; un newsletter dans mon site web et losrqueje fais des tests , je vois qu'il considere mon email de newsletter comme spam, sa prbl : un include dan un envoi de mail [ par malob87 ] bjr a tous, voici mon code complet:&lt;?if(empty($_POST[msg]))//on vérifie avec empty voir si les champs sont vide {print "le champ msg est vide"; //s problème d'envoi de formulaire par mail [ par Blacknight91titi ] Salut j'ai un problème cela m'embète beaucoupje dispose d'un formulaire qui lorsque l'on clique sur envoyer envoi les info du formulaire par mail.Sur Fonction mail! [ par jnbrunet ] Salut,Comment fait-on pour activer la fonction mail sur easyphp?? Le code sur mon serveur payant marche tr&#232;s bien...mais sur easyphp ca ne marche mail [ par rich25200 ] bonjour, je veux envoy&#233; un mail a partir de la fonction mail mais j'ai un prob voial mon code : $to = "xxxxx@hotmail.com"; &nbsp;&nbsp;&nbsp; & Envoyer un mail par php [ par CyberMen30 ] Depuis 3 jours, j'essaie de configurer et changer mon code pour pouvoir envoyer un mail en php.Voici mon php.ini:[code] [mail function] &nbsp;SMTP = m


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,593 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales