Loading... # [PHP发送邮件(PHPMailer)](https://blog.p2hp.com/archives/389) 本文是讲利用PHPMailer来发送邮件方法。 我们在做project的时候常常需要邮件的功能。其实PHP语言自己已经有一个发送邮件的方法(mail()方法),且不说这个方法实现的功能很少,想要利用mail()方法来发送邮件就必须要自己配置好smtp服务器,这里就不讲mail()的使用方法了(函数调用确实很简单)。所以,我们推荐使用第二种方法:PHPMailer。 首先,先到http://phpmailer.sourceforge.net/这个地址去下载最新的PHPMailer的包(PHPMailer方法必须使用这个包)。 下载完成后解压到相应的目录。可以看到解压后的文件夹里面的class.phpmailer.php(调用PHPMailer需要包含这个文件) 示例代码: ```php <?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还有很多功能,比如可以添加附件等等,这里就不再演示了。 这样在你需要用邮件功能的时候调用这个函数就可以了: ```php <?php require("mail.php"); smtp_mail("38974891123@qq.com", "达芬奇", "", "", "username"); ?> ``` 总的来说,这个方法还是很简单的,读者感兴趣的可以学习一下 最后修改:2023 年 08 月 07 日 © 允许规范转载 赞 如果觉得我的文章对你有用,请随意赞赏