php菜鸟教程:PHP如何利用PHPMailer实现邮件发送功能?

最近不是在开发那个提供免费香港PHP虚拟主机的zblog插件吗,基础功能已经基本完成,而且正在使用中。今天突然想到一个问题,那就是临近过期的虚拟主机或者已经过期的虚拟主机如何才能通过发送邮件的方式提醒虚拟主机的使用者。

图片

一、PHP的mail()函数发送邮件

如何用PHP发送邮件,我最先想到的肯定是PHP的mail()函数,mail()函数是PHP内置的邮件发送函数,它使用本地系统的邮件传输代理(MTA)来发送邮件,但是我们无法直接配置SMTP服务器或使用其他SMTP库来发送邮件。但是使用mail函数来发送邮件的话,我们还得安装、配置、解析本地邮件服务器,让我们自己的服务器变成一台可以发送、接收邮件的服务器,不仅复杂还增加了服务器的负载,自然不是我们最好的选择!但是如果你发送的邮件数量比较大,使用第三方邮件服务器的服务(如qq邮箱、163邮箱)常常会被限制的话,那么你在自己的服务器安装邮件服务器软件倒不失为一种好方法,具体的操作方法大概是打开宝塔面板,在应用软件里安装邮件服务器,按照提示进行配置和域名的MX记录解析。前提是你的服务器开通了25端口,据了解‘‘XX云’’是有限制的。如果你是虚拟主机的用户,那么这种方式你就不要想了,因为你没有操作服务器的权限!

二、使用PHPMaier库发送邮件

如果您不想自己安装配置邮件服务器,那么你可以使用第三方的SMTP服务器发送邮件,不过你需要使用第三方库或扩展来实现。其中最常用的是PHPMailer库,它提供了简单易用的API,可以方便地通过SMTP服务器发送邮件。您可以通过下载和包含PHPMailer库文件,并按照其文档进行配置和使用,来实现通过SMTP服务器发送邮件的功能。

使用PHPMailer库发送邮件的示例代码类似于上面的示例,但需要引入PHPMailer库文件并正确配置SMTP服务器信息。确保您已经正确安装和配置了相关的依赖项,并且您的服务器环境支持所需的扩展功能。

首先你需要下载PHPMailer库依赖文件,我已经为大家保存到腾讯微云了,下载地址:

https://share.weiyun.com/xveyE49C

下载好以后解压可以得到一个名为phpmailer的文件夹,上传到你的网站目录。

接下来我们编写我们的邮件发送代码:

<?php

require 'phpmailer/src/ExceptionXFEmail.php';

require 'phpmailer/src/SMTPXFEmail.php';

require 'phpmailer/src/PHPMailerXFEmail.php';

function send_mail($address, $subject, $message)

{

$mail = new PHPMailerXFEmail;

$mail->IsSMTP();

$mail->IsHTML(true);

$mail->CharSet = 'UTF-8';

$mail->AddAddress($address);//收件邮箱

$mail->Body = $message;//邮件内容

$mail->From = '123123@qq.com';//邮件来自的邮箱用户名,qq邮箱一般填写自己的邮箱地址

$mail->FromName = '站长文煞';//发件人名称

$mail->Subject = $subject;//邮件标题

$mail->Host = 'smtp.qq.com';//smtp服务器地址

$mail->SMTPSecure = 'ssl';//腾讯邮箱的smtp服务器使用的是ssl协议

$mail->Port = '587';//腾讯邮箱的smtp服务器使用的是465或者587端口

$mail->SMTPAuth = true;

$mail->SMTPAutoTLS = false;

$mail->Timeout = 10;

$mail->Username = '123123@qq.com';//发送邮箱的用户名,qq邮箱一般填写自己的邮箱地址

$mail->Password = 'skkskjsjksksjk';//需要去qq邮箱获取授权码

if (!$mail->Send()) {

$mailError = $mail->ErrorInfo;//发送失败的错误码

return ["error" => 1, "message" => $mailError];//如果邮件发送失败,返回error值为1,message值为错误代码

} else {

return ["error" => 0, "message" => "success"];//邮件发送成功,返回error值为0,message值为success

}

}

//使用演示

$address = '4567@qq.com';

$subject = '测试邮件发送功能!';

$message = '如果你收到这封邮件,说明我们的邮件发送功能正常!';

$returnarray = send_mail($address, $subject, $message);

if($returnarray['error'] == '1'){

echo '邮件发送失败,请检查你的配置是否正确';

}else if($returnarray['error'] == '0'){

echo '恭喜你,邮件发送功能正常!';

}

?>

本篇使用PHP发送邮件的教程就介绍到这里了,演示代码根据个人经验而写,可能存在小瑕疵或者我没有发现的错误,你在使用的时候需要仔细检查一下!关于如何获取开启smtp服务和获取授权码,请你到你想要作为发送邮件的邮箱网站相关页面进行开启和设置,由于就是点击几下鼠标就能完成的工作,在这里我就不过多赘述了。如果你有什么疑惑,可以在留言区给我留言!

感谢你关注微信公众号'文煞站长笔记网',愿君财源广进!

  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文煞

请你告诉我如何描述此刻的感激!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值