1.先下载tp5发邮件扩展
https://github.com/PHPMailer/PHPMailer,直接下载下来之后,在TP5框架的extend文件夹里面建一个PHPMailer文件夹
把下载下来的文件夹里边的src里边的 PHPMailer.php 和 SMTP.php 放在 刚刚创建的 TP5/extend/PHPMailer这个文件夹里
然后把 PHPMailer.php 和 SMTP.php 的命名空间改成 PHPMailer
然后在自己的方法里发送邮件就行了
public function setemail()
{
$mail = new PHPMailer();
$toemail = '196****107@qq.com';//收件人
$mail->isSMTP();// 使用SMTP服务
$mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码
$mail->Host = "smtp.163.com";// 发送方的SMTP服务器地址
$mail->SMTPAuth = true;// 是否使用身份验证
$mail->Username = "187****535@163.com";/// 发送方的163邮箱用户名,就是你申请163的SMTP服务使用的163邮箱
$mail->Password = "******";// 发送方的邮箱密码,注意用163邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码!
$mail->SMTPSecure = "ssl";// 使用ssl协议方式
$mail->Port = 465;// 163邮箱的ssl协议方式端口号是465/994
$mail->setFrom("187****7535@163.com","Mailer");// 设置发件人信息,如邮件格式说明中的发件人,这里会显示为Mailer(xxxx@163.com),Mailer是当做名字显示
$mail->addAddress($toemail,'Wang');// 设置收件人信息,如邮件格式说明中的收件人,这里会显示为Liang(yyyy@163.com)
$mail->addReplyTo("xxx@163.com","Reply");// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
//$mail->addCC("xxx@163.com");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址(这个人也能收到邮件)
//$mail->addBCC("xxx@163.com");// 设置秘密抄送人(这个人也能收到邮件)
//$mail->addAttachment("bug0.jpg");// 添加附件
$mail->Subject = "注册验证";// 邮件标题
$num = rand(100000,999999);
$mail->Body = "邮件内容是 :您的验证码是:".$num;// 邮件正文
//$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用
if(!$mail->send()){// 发送邮件
// echo "Message could not be sent.";
// echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息
echo 2;
}else{
echo 1; //成功
}
}
建议使用163邮箱
---------------------
原文:https://blog.csdn.net/weixin_42122979/article/details/80806283