ASCII码 ASCII码

PHP实现发送邮件实例

发布于:2022-03-02 10:16:19  栏目:技术文档

使用tp5发送邮件实例

1.下载phpmailer

使用 composer 安装

composerrequirephpmailer/phpmailer

或者github.com下载

https://github.com/PHPMailer/PHPMailer/
2.在extends文件下新建phpmailer,把下载的phpmailer中的class.phpmailer.php和class.smtp.php放在里面,修改文件名分别为phpmailer.php和SMTP.php

phpmailer.php中的2315行使用到了php的Exception异常类,要在Exception前加上反斜杠\

classphpmailerExceptionextends\Exception{
publicfunctionerrorMessage(){
$errorMsg='<strong>'.$this->getMessage()."</strong><br/>\n";
return$errorMsg;
}
}
?>

进入QQ邮箱,开启IMAP/SMTP服务,获取授权密码

88fc26daf064fe0a38953df446daf99.png

php 代码示例
<?php

namespaceapp\email\controller;
usethink\Controller;
usephpmailer\PHPMailer;//引入phpmailer



classMailextendsController
{
		//发送邮箱验证码
		publicfunctionemail()
		{
			$toemail='xxxx@qq.com';//定义收件人的邮箱

			$mail=newPHPMailer();
			
			$mail->isSMTP();//使用SMTP服务
			$mail->CharSet="utf8";//编码格式为utf8
			$mail->Host="smtp.qq.com";//发送方的SMTP服务器地址
			$mail->SMTPAuth=true;//是否使用身份验证
			$mail->Username="xxxx@qq.com";//发送方的邮箱用户名,
			$mail->Password="xxxxxxxxxxxxxxxx";//发送方客户端的16位授权密码,而不是邮箱的登录密码!
			$mail->SMTPSecure="ssl";//使用ssl协议方式
			$mail->Port=465;//163邮箱的ssl协议方式端口号是465/994qq邮箱的是465/587
			$mail->setFrom("xxxx@qq.com","At");//设置发件人信息,如邮件格式说明中的发件人,
			$mail->addAddress($toemail,'Wang');//设置收件人信息,如邮件格式说明中的收件人,
			$mail->addReplyTo("xxxxxx@qq.com","Reply");//设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
			$mail->Subject="At真帅";//邮件标题
			$mail->Body="At真帅";//邮件正文内容
			if(!$mail->send()){//发送邮件
				echo"Messagecouldnotbesent.";
				echo"MailerError:".$mail->ErrorInfo;//输出错误信息
			}else{
				echo'发送成功';
			}
						
		}
}

?>
相关推荐
阅读 +