How To Send Mails Using SMTP Server in PHP Comment envoyer des mails en utilisant le serveur SMTP en PHP
In PHP on Microsoft Windows you have to simply configure two parameters to enable sending mails through SMTP server. En PHP sous Microsoft Windows, vous devez simplement configurer deux paramètres afin de permettre l'envoi de mails par SMTP serveur. In Unix / Linux it is slightly more complicated. Sur Unix / Linux il est un peu plus compliqué. The solution, however, is much more powerful and works also on Windows. La solution, toutefois, est beaucoup plus puissant et fonctionne également sous Windows. Let’s first start with Windows. Supposons tout d'abord commencer par Windows.
In Microsoft Windows PHP installation you just have to change two variables in php.ini: Dans Microsoft Windows installation de PHP vous suffit de modifier deux variables dans le fichier php.ini:
SMTP = smtp.server.com SMTP = smtp.server.com
smtp_port = 25 smtp_port = 25
Replace smtp.server.com with your SMTP server name and 25 with your SMTP server port (normally 25). Remplacer smtp.server.com avec votre nom du serveur SMTP et 25 avec votre port du serveur SMTP (normalement 25).
You can also set the default sender information in Windows: Vous pouvez également définir les coordonnées de l'expéditeur par défaut dans Windows:
sendmail_from = me@example.com sendmail_from = me@example.com
On Linux / Unix PHP relies on sendmail . Sous Linux / Unix PHP repose sur sendmail. You can specify the sendmail path here: Vous pouvez spécifier le chemin sendmail ici:
sendmail_path = /usr/sbin/sendmail -t -i sendmail_path = / usr / sbin / sendmail-t-i
Unfortunately this doesn’t work too well if your SMTP server is configured on a different machine or you are not using sendmail. Malheureusement cela ne fonctionne pas trop bien si votre serveur SMTP est configuré sur une machine différente ou que vous n'utilisez pas sendmail.
Fortunately there is a much better solution in Heureusement, il existe une bien meilleure solution PHPMailer Phpmailer . The default mail capability provided by mail() function in PHP is very limited. La capacité de messagerie par défaut fourni par la poste () en PHP est très limitée. PHPMailer is a full fledged mail API which can be used to do any kind of mailing tasks. Phpmailer est un véritable mail API qui peut être utilisé pour faire quelque nature que ce soit tâches d'expédition.
Features of PHPMailer Caractéristiques de phpmailer
- Can send emails with multiple TOs, CCs, BCCs and REPLY-TOs Puis envoyer des emails avec de multiples opérateurs, CC, BCC et Reply-OT
- Redundant SMTP servers Redondante serveurs SMTP
- Multipart/alternative emails for mail clients that do not read HTML email Multipart / alternative e-mails pour les clients de messagerie qui ne lisent pas e-mail HTML
- Support for 8bit, base64, binary, and quoted-printable encoding Soutien à 8bit, base64, binaire, et quoted-printable encodage
- Uses the same methods as the very popular AspEmail active server (COM) component Utilise les mêmes méthodes que le très populaire AspEmail serveur actif (COM) composant
- SMTP authentication L'authentification SMTP
- Word wrap Retour à la ligne automatique
- Address reset functions Adresse fonctions de réinitialisation
- HTML email E-mail HTML
- Tested on multiple SMTP servers: Sendmail, qmail, Postfix, Imail, Exchange, etc Testé sur plusieurs serveurs SMTP: Sendmail, Qmail, Postfix, iMail, Exchange, etc
- Works on any platform Fonctionne sur n'importe quelle plate-forme
- Flexible debugging Flexible de débogage
- Custom mail headers Custom-têtes des messages
- Multiple fs, string, and binary attachments (those from database, string, etc) De multiples fs, string, et les pièces jointes binaires (ceux de la base de données, string, etc)
- Embedded image support Image intégrée de soutien
How to use PHPMailer Comment utiliser phpmailer
To use PHPMailer you need to first Pour utiliser phpmailer vous devez d'abord download the files télécharger les fichiers and save the relevant files (upload) on your server. et mettre les fichiers (upload) sur votre serveur.
You need to upload class.phpmailer.php , class.smtp.php (for SMTP support) and language/phpmailer.lang-en.php . Vous devez transférer class.phpmailer.php, class.smtp.php (pour SMTP soutien) et la langue / phpmailer.lang-fr.php. You should download the lang file corresponding to the language of your blog. Vous devez télécharger le fichier de langue correspondant à la langue de votre blog. For my english language sites I use language/phpmailer.lang- en .php , where en is the language code. Pour ma langue Anglais-je utiliser les sites language/phpmailer.lang- fr. Php, où en est le code de langue.
In your PHP file include class.phpmailer.php as follows: Dans votre fichier PHP inclure class.phpmailer.php comme suit:
if(!class_exists('PHPMailer')) { require(BASEPATH . '/class.phpmailer.php'); } if (! class_exists ( 'phpmailer')) (require (Basepath ". / class.phpmailer.php ');) Replace BASEPATH with the actual path of class-phpmailer.php file. Remplacer Basepath avec le chemin réel de la classe-phpmailer.php fichier. You may also define BASEPATH to achieve the same result (preferred). Vous mai également définir Basepath à atteindre le même résultat (de préférence).
Note: This check ensures only one copy of the class is loaded. Note: Ce contrôle garantit que seules une copie de la classe est chargée. This in turn loads other required classes. Cela, à son tour des charges autres classes nécessaires.
Now you can send a mail using any SMTP server. Maintenant, vous pouvez envoyer un mail en utilisant n'importe quel serveur SMTP. Here is a simple example: Voici un exemple simple:
$mail = new PHPMailer(); $mail->From = $senderemail; $mail->FromName = $sendername; $mail->AddAddress($receiveremail, $receivername); // Fill in Username and Password for servers requiring authentication $mail->Username = $smtp_username; $mail->Password = $smtp_password; // SMTP server name $mail->Host = $smtp_server; $mail->Mailer = "smtp"; $mail->Subject = $mail_subject; $mail->Body = $mail_body; if(!$mail->Send()) $results = 'Error message'; else $results = 'Success message'; $ mail = new phpmailer (); $ mail-> From = $ senderemail $ mail-> FromName = $ sendername $ mail-> AddAddress ($ receiveremail, receivername $) / / Remplir d'utilisateur et votre mot de passe pour les serveurs nécessitant une authentification $ mail-> Nom d'utilisateur = $ smtp_username $ mail-> Mot de passe = $ smtp_password / / nom du serveur SMTP $ mail-> host = $ smtp_server $ mail-> Mailer = "smtp"; $ mail-> Subject = $ mail_subject $ Mail-> Body = $ mail_body; if (! $ Mail-> Send ()) $ results = 'Message d'erreur'; else $ results = "Réussite message '; You can read the Vous pouvez lire les documentation la documentation , advanced example avancée exemple or the ou le tutorial didacticiel if you need further help. si vous avez besoin d'aide.
Filed under Classé sous Headline News Headline News , How To Comment , Open Source Software Open Source Software , PHP , Tech Note Note technique , Web , Web Services Services Web | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | cet article |
Email this Article Envoyer cet article
You may also like to read Vous mai également à lire |





































October 9th, 2006 at 1:21 pm Octobre 9th, 2006 at 1:21 pm
Just a mistake : Juste une erreur:
replace : remplacer:
require(BASEPATH . ‘/class-phpmailer.php’); require (Basepath ". / classe-phpmailer.php ');
by : par:
require(BASEPATH . ‘/class.phpmailer.php’); require (Basepath ". / class.phpmailer.php ');
October 9th, 2006 at 7:40 pm Octobre 9th, 2006 at 7:40 pm
Though your comment didn’t come out correctly, I am guessing you were referring to normal single quotes. Bien que votre commentaire n'a pas été faite correctement, je devine que vous faisaient référence à la normale de prix unique. This problem is caused by WordPress. Ce problème est causé par WordPress. I have corrected this post to J'ai corrigé ce poste à remove fancy quotes supprimer fantaisie de prix .
Here’s how you can Voici comment vous pouvez remove fancy quotes supprimer fantaisie de prix from your WordPress blogs or comments. à partir de votre blogs de WordPress ou commentaires.
November 7th, 2006 at 2:49 am 7 novembre 2006 à 2:49 am
He was actually referring to the fact that the file is named class.phpmailer.php and not class-phpmailer.php as in the original article. Il a été fait référence au fait que le fichier est nommé class.phpmailer.php classe et non-phpmailer.php comme dans l'article original.
November 7th, 2006 at 6:41 am 7 novembre 2006 à 6:41 am
Ah, thanks. Ah, merci. Corrected the typo. Rectifié la faute de frappe.
January 29th, 2007 at 3:00 am Janvier 29th, 2007 à 3h00 am
It’s good. It's good.
February 4th, 2007 at 11:09 pm 4 février 2007 à 11:09 pm
hi… salut…
im very new to this field…i want something to be done like,if i submit a form ,i should get a mail to im très nouvelle dans ce domaine… je veux quelque chose à faire comme, si je soumettre un formulaire, je devrais obtenir un mail à intelevents@kestone.in ….to do tjhis i have followed thw following steps…. …. Faire tjhis j'ai suivi thw étapes suivantes….
1..i have uploaded my php file and html file on to server through winSCP… 1 .. J'ai chargé mon fichier PHP et fichier html sur le serveur par le biais de WinSCP…
2.in browser i opend the file by giving the url kestone.in/reg1.htm.. 2.in navigateur i ouvert le fichier en donnant l'url kestone.in/reg1.htm ..
but im not getting the mail… mais je ne suis pas obtenir la poste…
here is my php file voici mon fichier PHP
Registration Confirmed Inscription Confirmé
Registration Page Page d'inscription
Registration Inscription
Salutation: Formule d'appel:
‘.$salutation.’ '. $ Titre ".
FName:
‘.$fname.’ '. $ Fname. "
Lname : LName:
‘.$lname.’ ». LName $".
Email-id: Email-ID:
‘. ». $mail.’ $ mail ".
Company: Société:
‘. ». $company.’ $ compagnie ".
Designation: Désignation:
‘. ». $designation.’ $ désignation ".
Address1: Adresse1:
‘. ». $Add1.’ Add1 $ ".
Address2: Adresse 2:
‘. ». $Add2.’ Add2 $ ".
Address3:
‘. ». $Add3.’ $ ADD3 ".
City: Ville:
‘. ». $City.’ $ Ville ".
State: État:
‘. ». $state.’ $ state ".
Pincode: Code PIN:
‘. ». $pincode.’ $ code pin ".
Phone: Téléphone:
‘. ». $phone.’ $ téléphone. "
Fax:
‘. ». $fax.’ $ fax ".
Mobile:
‘. ». $Mobile.’ $ Mobile. "
‘;/* To send HTML mail, you can set the Content-type header. »/ * Pour envoyer de courrier HTML, vous pouvez définir le contenu de type tête. */ * /
$headers = “MIME-Version: 1.0\r\n”; $ headers = "MIME-Version: 1,0 \ r \ n";
$headers .= “Content-type: text/html; charset=iso-8859-1\r\n”; $ headers .= "Content-Type: text / html; charset = iso-8859-1 \ r \ n";
/* additional headers */ / * *-Têtes supplémentaires /
$headers .= “From: “.$mail; $ headers .= "From:". $ mail;
/* and now mail it */ / * Et maintenant l'envoyer par la poste * /
mail($to, $subject, $message, $headers); mail ($ to, $ subject, $ message, $ headers);
echo ”; echo ";
?> >
and html et HTML
Salutation
table td.title{ (tableau td.title
text-align:center;font-family:arial;font-weight:normal;font-size:12px} text-align: center; font-family: Arial; font-weight: normal; font-size: 12px)
function validation() fonction de validation ()
{ (
valid = true; valide = true;
objform=document.forms["regform"]; objform = document.forms [ "RegForm"];
if(objform.Fname.value ==”") if (objform.Fname.value =="")
{ (
alert(”Please enter the ‘First Name’”); alert ( "S’il vous plaît entrer dans le" Prénom ");
objform.Fname.focus(); objform.Fname.focus ();
valid=false; valide = false;
} )
else autre
if(objform.email.value==”") if (objform.email.value =="")
{ (
alert(”Please enter the Email address”); alert ( "S’il vous plaît entrer l'adresse e-mail");
objform.email.focus(); objform.email.focus ();
valid=false; valide = false;
} )
else autre
if(objform.company.value==”") if (objform.company.value =="")
{ (
alert(”Please enter the ‘Company’”); alert ( "S’il vous plaît entrer dans la« Société »);
objform.company.focus(); objform.company.focus ();
valid=false; valide = false;
} )
else autre
if(objform.designation.value==”") if (objform.designation.value =="")
{ (
alert(”Please enter the designation”); alert ( "S’il vous plaît entrer dans la désignation");
objform.designation.focus(); objform.designation.focus ();
valid=false; valide = false;
} )
else autre
if(objform.add1.value==”") if (objform.add1.value =="")
{ (
alert(”Please fill the ‘Address’”); alert ( "S’il vous plaît remplir le" Adresse ");
objform.add1.focus(); objform.add1.focus ();
valid=false; valide = false;
} )
else autre
if(objform.city.value==”") if (objform.city.value =="")
{ (
alert(”Please enter the ‘City’”); alert ( "S’il vous plaît entrer dans le 'ville'");
objform.city.focus(); objform.city.focus ();
valid=false; valide = false;
} )
else autre
if(objform.pin.value==”") if (objform.pin.value =="")
{ (
alert(”Please enter the ‘Pin’”); alert ( "S’il vous plaît entrer dans le 'Pin'");
objform.pin.focus(); objform.pin.focus ();
valid=false; valide = false;
} )
else autre
if(objform.mobile.value==”") if (objform.mobile.value =="")
{ (
alert(”Please enter the ‘mobile number’”); alert ( "S’il vous plaît entrer dans le« numéro de téléphone mobile ' ");
objform.mobile.focus(); objform.mobile.focus ();
valid=false; valide = false;
} )
return valid; retour valable;
} )
Registration Form Formulaire d'inscription
Salutation: Formule d'appel:
Dr
Mr M.
Mrs Mme
Ms Mme
Miss Manquer
*First Name: * Prénom:
Last Name: Prénom:
*Email : * E-mail:
*Company : * Société:
*Designation: * Désignation:
*Address1: * Adresse1:
Address2: Adresse 2:
Address3 : Address3:
*City: * Ville:
State: État:
*Pin : * Pin:
Phone: Téléphone:
Fax:
*Mobile: * Mobile:
can anybody help in this issue….its very very very urgent…ill be very thanful to u… peut aider quelqu'un dans ce numéro…. sa très très très urgent… être très mauvais thanful et à…
February 4th, 2007 at 11:11 pm 4 février 2007 à 11:11 pm
Registration Confirmed Inscription Confirmé
Registration Page Page d'inscription
Registration Inscription
Salutation: Formule d'appel:
‘.$salutation.’ '. $ Titre ".
FName:
‘.$fname.’ '. $ Fname. "
Lname : LName:
‘.$lname.’ ». LName $".
Email-id: Email-ID:
‘. ». $mail.’ $ mail ".
Company: Société:
‘. ». $company.’ $ compagnie ".
Designation: Désignation:
‘. ». $designation.’ $ désignation ".
Address1: Adresse1:
‘. ». $Add1.’ Add1 $ ".
Address2: Adresse 2:
‘. ». $Add2.’ Add2 $ ".
Address3:
‘. ». $Add3.’ $ ADD3 ".
City: Ville:
‘. ». $City.’ $ Ville ".
State: État:
‘. ». $state.’ $ state ".
Pincode: Code PIN:
‘. ». $pincode.’ $ code pin ".
Phone: Téléphone:
‘. ». $phone.’ $ téléphone. "
Fax:
‘. ». $fax.’ $ fax ".
Mobile:
‘. ». $Mobile.’ $ Mobile. "
‘;/* To send HTML mail, you can set the Content-type header. »/ * Pour envoyer de courrier HTML, vous pouvez définir le contenu de type tête. */ * /
$headers = “MIME-Version: 1.0\r\n”; $ headers = "MIME-Version: 1,0 \ r \ n";
$headers .= “Content-type: text/html; charset=iso-8859-1\r\n”; $ headers .= "Content-Type: text / html; charset = iso-8859-1 \ r \ n";
/* additional headers */ / * *-Têtes supplémentaires /
$headers .= “From: “.$mail; $ headers .= "From:". $ mail;
/* and now mail it */ / * Et maintenant l'envoyer par la poste * /
mail($to, $subject, $message, $headers); mail ($ to, $ subject, $ message, $ headers);
echo ”; echo ";
?> >
August 1st, 2007 at 11:29 am Le 1er août 2007 à 11:29 am
Realy nice, but is this same for sending email using arabic languages, mean if format is arabic. Vraiment sympathique, mais est-ce même pour envoyer des e-mails en utilisant les langues arabe, signifie si le format est l'arabe.