Rumah php教程 php手册 【夯实PHP基础】PHP发送邮件(PHPMailer)

【夯实PHP基础】PHP发送邮件(PHPMailer)

Dec 05, 2016 pm 01:26 PM

本文地址

参考地址

 

分享提纲:

  1. 概述

  2. 编写代码发送邮件

  3. 参考文档

 

1. 概述


 

   本文是讲利用邮件类库 PHPMailer来发送邮件方法。

  我们在做project的时候常常需要邮件的功能。其实PHP语言自己已经有一个发送邮件的方法(mail()方法),且不说这个方法实现的功能很少,想要利用mail()方法来发送邮件就必须要自己配置好smtp服务器,这里就不讲mail()的使用方法了(函数调用确实很简单)。所以,我们推荐使用第二种方法:PHPMailer。

 

2. 编写代码发送邮件


 

  1)【下载PHPMailer】

           首先,先到http://phpmailer.sourceforge.net/这个地址去下载最新的PHPMailer的包(PHPMailer方法必须使用这个包,目前依托在 gitHub上)。

           直接下载压缩包也行: https://github.com/wozhuzaisi/PHPMailer/archive/master.zip

  2)【代码实现】

      下载完成后解压到相应的目录。可以看到解压后的文件夹里面的class.phpmailer.php(调用PHPMailer需要包含这个文件)

  示例代码:

 <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></p>
Salin selepas log masuk

 

  就是这些,欢迎批评指正

 

3. 参考文档


  1)使用 PHPMailer 发送邮件  

  2)PHP发送邮件(PHPMailer) - FTD2012 - 博客园  

 

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)