通过 PHPMailer 实现 SMTP 方式发送邮件
PHPMailer 是一个用于发送电子邮件的 PHP 函数包,一些虚拟主机默认是没有配置邮件系统的,所以我们只能通过 SMTP 的方式发送邮件。
PHP本身提供了一个邮件发送函数 Mail,可以在程序中直接发送电子邮件,不过该函数要求服务器支持 SendMail 或者必须设置一台不需要中继的邮件发送服务器,但现在要找到一台不需要身份验证的邮件发送中继几乎不可能,所以使用 Mail 函数往往无法成功发送 Email。
自己如果熟悉 SMTP 协议,结合 Socket 功能就可以编写高效稳定的邮件发送程序,但对一般用户来说太困难.好在互联网上已经有很多别人编写好的邮件发送模块,我们只需要下载后简单调用即可,十分方便。
它提供的功能包括
- 在发送邮时指定多个收件人、抄送地址、暗送地址和回复地址
- 支持多种邮件编码包括:8bit、base64、binary和quoted-printable
- 支持SMTP验证
- 支持冗余SMTP服务器
- 支持带附件的邮件和Html格式的邮件
- 自定义邮件头
- 支持在邮件中嵌入图片
- 调试灵活
- 经测试兼容的SMTP服务器包括:Sendmail,qmail,Postfix,Imail,Exchange等
- 可运行在任何平台之上
使用方法
require("class.phpmailer.php"); //这个是一个smtp的php类,网上可以下载得到
$mail = new PHPMailer(); //实例化邮件发送类
$mail->CharSet = "UTF-8"; //邮件的编码
$address ="sdasdsadsa@qq.com"; //收件人地址
$mail->IsSMTP(); // 使用SMTP方式发送
$mail->Host = "smtp.126.com"; // 您的企业邮局域名
$mail->SMTPAuth = true; // 启用SMTP验证功能
$mail->Username = "sffsdf@126.com"; // 邮局用户名(请填写完整的email地址)
$mail->Password = "123444"; // 邮箱密码
$mail->Port=25; // 邮件发送的端口
$mail->From = "sffsdf@126.com"; // 邮件发送者email地址
$mail->FromName = "在线Q聊";
$mail->AddAddress("$address", "a");// 收件人地址,可以替换成任何想要接收邮件的email信箱,格式是AddAddress("收件人email","收件人姓名")
//$mail->AddReplyTo("", "");
//$mail->AddAttachment("/var/tmp/file.tar.gz"); // 添加附件
$mail->IsHTML(true); // set email format to HTML //是否使用HTML格式
$mail->Subject = "noreply"; // 邮件标题
$mail->Body = "您的验证码是:5245,15分钟内有效"; // 邮件内容,上面设置HTML,则可以是HTML
if(!$mail->Send()){
echo "邮件发送失败. <p>";
echo "错误原因: " . $mail->ErrorInfo;
exit;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论