分享提纲:
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需要包含这个文件)
示例代码:
<?php //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()函数即可 //测试邮件 // 参数说明(收件人邮箱地址, 收件人姓名, 邮件主题, 邮件内容, 附加信息, 发送人用户名) smtp_mail("[email protected]", ‘receiveUserName‘, "【标题】12.01 测试邮件", "【内容】测试邮件", "", $fromUsername="邮件发送人"); echo "<br>end<br>" ; function smtp_mail( $receiveEmailAddress, $receiveUserName, $subject, $body, $extraHdrs=‘‘, $fromUsername){ $path = ‘PHPMailer-master/‘; require_once($path."class.smtp.php"); require($path."class.phpmailer.php"); $mail = new PHPMailer(); $mail->IsSMTP(); // send via SMTP //这里使用 163邮箱 $mail->Host = "smtp.163.com"; // SMTP servers $mail->SMTPAuth = true; // turn on SMTP authentication $mail->Username = "yourEmailUserName"; // SMTP username 注意:普通邮件认证不需要加 @域名 这里是我的163邮箱 $mail->Password = "yourEmailPassWord"; // SMTP password 在这里输入邮箱的密码 $mail->From = $fromMailAddress = "[email protected]"; // 发件人邮箱 $mail->FromName = $fromUsername; // 发件人 $mail->CharSet = "UTF-8"; // 这里指定字符集! 指定UTF-8后邮件的标题和发件人等等不会乱码,如果是GB2312标题会乱码 $mail->Encoding = "base64"; $mail->AddAddress($receiveEmailAddress, $receiveUserName); // 收件人邮箱和姓名 $mail->AddReplyTo($fromMailAddress, $fromUsername); //$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 = $body; //$mail->AltBody ="text/html"; if(!$mail->Send()) { echo "error <p>"; echo "error: " . $mail->ErrorInfo; exit; } else { echo"success!"; } }
就是这些,欢迎批评指正
3. 参考文档
1)使用 PHPMailer 发送邮件
2)PHP发送邮件(PHPMailer) - FTD2012 - 博客园
时间: 2024-10-08 20:43:08