Diese Artikeladresse
Referenzadresse
Teilen Sie die Gliederung:
1. Übersicht
2. Schreiben Sie Code zum Senden von E-Mails
3. Referenzdokumente
1. Übersicht
In diesem Artikel geht es um die Verwendung der E-Mail-Klassenbibliothek PHPMailer zum Versenden von E-Mails.
Bei der Arbeit an Projekten benötigen wir oft die E-Mail-Funktion. Tatsächlich verfügt die PHP-Sprache selbst bereits über eine Methode zum Senden von E-Mails (mail()-Methode), ganz zu schweigen davon, dass diese Methode nur sehr wenige Funktionen implementiert. Wenn Sie die mail()-Methode zum Senden von E-Mails verwenden möchten, müssen Sie diese konfigurieren Hier erfahren Sie, wie Sie mail() verwenden (der Funktionsaufruf ist in der Tat sehr einfach). Daher empfehlen wir die Verwendung der zweiten Methode: PHPMailer.
2. Code zum Senden von E-Mails schreiben
1) [PHPMailer herunterladen]
Gehen Sie zunächst zu http://phpmailer.sourceforge.net/, um das neueste PHPMailer-Paket herunterzuladen (die PHPMailer-Methode muss dieses Paket verwenden, das derzeit auf gitHub basiert).
Sie können das komprimierte Paket auch direkt herunterladen: https://github.com/wozhuzaisi/PHPMailer/archive/master.zip
2) [Code-Implementierung]
Entpacken Sie es nach dem Herunterladen in das entsprechende Verzeichnis. Sie können class.phpmailer.php im dekomprimierten Ordner sehen (Sie müssen diese Datei einschließen, um PHPMailer aufzurufen)
Beispielcode:
<?<span style="color: #000000;">php </span><span style="color: #008000;">//</span><span style="color: #008000;">1.【下载地址】PHPMailer下载地址:https://github.com/wozhuzaisi/PHPMailer/archive/master.zip //2.【邮箱配置SMTP】本文实现的是 smtp协议的163邮箱发送。其他邮箱和协议请参考: http://blog.wpjam.com/m/gmail-qmail-163mail-imap-smtp-pop3/ //3.【文本编码】请保证 utf-8的文本编码,否则邮件会出现乱码 //4.【运行方式】 直接调用 smtp_mail()函数即可 //测试邮件 // 参数说明(收件人邮箱地址, 收件人姓名, 邮件主题, 邮件内容, 附加信息, 发送人用户名) </span> smtp_mail("receiveUser@haodf.com", 'receiveUserName', "【标题】12.01 测试邮件", "【内容】测试邮件", "", <span style="color: #800080;">$fromUsername</span>="邮件发送人"<span style="color: #000000;">); </span><span style="color: #0000ff;">echo</span> "<br>end<br>"<span style="color: #000000;"> ; </span><span style="color: #0000ff;">function</span> smtp_mail( <span style="color: #800080;">$receiveEmailAddress</span>, <span style="color: #800080;">$receiveUserName</span>, <span style="color: #800080;">$subject</span>, <span style="color: #800080;">$body</span>, <span style="color: #800080;">$extraHdrs</span>='', <span style="color: #800080;">$fromUsername</span><span style="color: #000000;">){ </span><span style="color: #800080;">$path</span> = 'PHPMailer-master/'<span style="color: #000000;">; </span><span style="color: #0000ff;">require_once</span>(<span style="color: #800080;">$path</span>."class.smtp.php"<span style="color: #000000;">); </span><span style="color: #0000ff;">require</span>(<span style="color: #800080;">$path</span>."class.phpmailer.php"<span style="color: #000000;">); </span><span style="color: #800080;">$mail</span> = <span style="color: #0000ff;">new</span><span style="color: #000000;"> PHPMailer(); </span><span style="color: #800080;">$mail</span>->IsSMTP(); <span style="color: #008000;">//</span><span style="color: #008000;"> send via SMTP //这里使用 163邮箱</span> <span style="color: #800080;">$mail</span>->Host = "smtp.163.com"; <span style="color: #008000;">//</span><span style="color: #008000;"> SMTP servers </span> <span style="color: #800080;">$mail</span>->SMTPAuth = <span style="color: #0000ff;">true</span>; <span style="color: #008000;">//</span><span style="color: #008000;"> turn on SMTP authentication </span> <span style="color: #800080;">$mail</span>->Username = "yourEmailUserName"; <span style="color: #008000;">//</span><span style="color: #008000;"> SMTP username 注意:普通邮件认证不需要加 @域名 这里是我的163邮箱</span> <span style="color: #800080;">$mail</span>->Password = "yourEmailPassWord"; <span style="color: #008000;">//</span><span style="color: #008000;"> SMTP password 在这里输入邮箱的密码</span> <span style="color: #800080;">$mail</span>->From = <span style="color: #800080;">$fromMailAddress</span> = "yourName@163.com"; <span style="color: #008000;">//</span><span style="color: #008000;"> 发件人邮箱 </span> <span style="color: #800080;">$mail</span>->FromName = <span style="color: #800080;">$fromUsername</span>; <span style="color: #008000;">//</span><span style="color: #008000;"> 发件人 </span> <span style="color: #800080;">$mail</span>->CharSet = "UTF-8"; <span style="color: #008000;">//</span><span style="color: #008000;"> 这里指定字符集! 指定UTF-8后邮件的标题和发件人等等不会乱码,如果是GB2312标题会乱码</span> <span style="color: #800080;">$mail</span>->Encoding = "base64"<span style="color: #000000;">; </span><span style="color: #800080;">$mail</span>->AddAddress(<span style="color: #800080;">$receiveEmailAddress</span>, <span style="color: #800080;">$receiveUserName</span>); <span style="color: #008000;">//</span><span style="color: #008000;"> 收件人邮箱和姓名 </span> <span style="color: #800080;">$mail</span>->AddReplyTo(<span style="color: #800080;">$fromMailAddress</span>, <span style="color: #800080;">$fromUsername</span><span style="color: #000000;">); </span><span style="color: #008000;">//</span><span style="color: #008000;">$mail->WordWrap = 50; // set word wrap 换行字数 //$mail->AddAttachment("/var/tmp/file.tar.gz"); // attachment 附件 //$mail->AddAttachment("/tmp/image.jpg", "new.jpg"); //$mail->IsHTML(true); // send as HTML // 邮件主题 </span> <span style="color: #800080;">$mail</span>->Subject = <span style="color: #800080;">$subject</span><span style="color: #000000;">; </span><span style="color: #008000;">//</span><span style="color: #008000;"> 邮件内容 </span> <span style="color: #800080;">$mail</span>->Body = <span style="color: #800080;">$body</span><span style="color: #000000;">; </span><span style="color: #008000;">//</span><span style="color: #008000;">$mail->AltBody ="text/html"; </span> <span style="color: #0000ff;">if</span>(!<span style="color: #800080;">$mail</span>-><span style="color: #000000;">Send()) { </span><span style="color: #0000ff;">echo</span> "error <p>"<span style="color: #000000;">; </span><span style="color: #0000ff;">echo</span> "error: " . <span style="color: #800080;">$mail</span>-><span style="color: #000000;">ErrorInfo; </span><span style="color: #0000ff;">exit</span><span style="color: #000000;">; } </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> { </span><span style="color: #0000ff;">echo</span>"success!"<span style="color: #000000;">; } } </span>
Das war's, Kritik und Korrekturen sind willkommen
3. Referenzdokumente
1) Verwenden Sie PHPMailer, um E-Mails zu senden
2) PHP E-Mail senden (PHPMailer) – FTD2012 – Blog Garden