PHP发送邮件(PHPMailer)

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

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

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

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

  示例代码:

复制代码
<?php    
require("phpmailer/class.phpmailer.php");    
function smtp_mail( $sendto_email, $subject, $body, $extra_hdrs, $user_name){    
    $mail = new PHPMailer();    
    $mail->IsSMTP();                  // send via SMTP    
    $mail->Host = "smtp.163.com";   // SMTP servers    
    $mail->SMTPAuth = true;           // turn on SMTP authentication    
    $mail->Username = "xuchao842363331";     // SMTP username  注意:普通邮件认证不需要加 @域名  这里是我的163邮箱
    $mail->Password = "password"; // SMTP password    在这里输入邮箱的密码
    $mail->From = "xuchao842363331@163.com";      // 发件人邮箱    
    $mail->FromName =  "管理员";  // 发件人    
  
    $mail->CharSet = "UTF-8";   // 这里指定字符集!    指定UTF-8后邮件的标题和发件人等等不会乱码,如果是GB2312标题会乱码
    $mail->Encoding = "base64";    
    $mail->AddAddress($sendto_email,"username");  // 收件人邮箱和姓名    
    $mail->AddReplyTo("yourmail@yourdomain.com","yourdomain.com");    
    //$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    
    // 邮件主题    
    $mail->Subject = $subject;    
    // 邮件内容    
    $mail->Body = "hello!PHPMailer";                                                                          
    //$mail->AltBody ="text/html";    
    if(!$mail->Send())    
    {    
        echo "error <p>";    
        echo "error: " . $mail->ErrorInfo;    
        exit;    
    }    
    else {    
        echo"success!"; 
    }    
}    
// 参数说明(发送到, 邮件主题, 邮件内容, 附加信息, 用户名)      
?>  
复制代码

 

 

 

  这里要说明一下:当字符集指定为GB2312的时候标题会乱码,这里指定为UTF-8不会出现乱码。

  其实,PHPMailer还有很多功能,比如可以添加附件等等,这里就不再演示了。 

  这样在你需要用邮件功能的时候调用这个函数就可以了:

  

 总的来说,这个方法还是很简单的,读者感兴趣的可以学习一下

 

posted on   FTD2012  阅读(1830)  评论(2编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!

导航

< 2012年12月 >
25 26 27 28 29 30 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示