thinkphp 利用PHPMailer三方类发送邮件
1.首先用composer下载PHPMailer,在网站根目录进入命令行输入如下命令即可
composer require phpmailer/phpmailer
2.然后创建文件Ma.php,填写如下代码
<?php namespace app\controller; use PHPMailer\PHPMailer\PHPMailer; class Ma{ // 邮件发送 public function email($toemail,$content) { //$toemail是要发送的邮箱,$content是发送内容 $mail = new PHPMailer(); $mail->isSMTP();// 使用SMTP服务 $mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码 $mail->Host = "smtp.qq.com";// 发送方的SMTP服务器地址 $mail->SMTPAuth = true;// 是否使用身份验证 $mail->Username = "**********@qq.com";// 发送方的QQ邮箱用户名,就是你申请QQ的SMTP服务使用的QQ邮箱 $mail->Password = "**********";// 发送方的邮箱密码,注意用QQ邮箱这里填写的是“客户端授权密码”而不是邮箱的登录密码! $mail->SMTPSecure = "ssl";// 使用ssl协议方式 $mail->Port = 465;// QQ邮箱的ssl协议方式端口号是465/994 $mail->setFrom("**********@qq.com", "Mailer");// 设置发件人信息,如邮件格式说明中的发件人,这里会显示为Mailer(xxxx@1qq.com),Mailer是当做名字显示 $mail->addAddress($toemail, '**');// 设置收件人信息,如邮件格式说明中的收件人,这里会显示为Liang(yyyy@qq.com) $mail->addReplyTo("**********@qq.com", "Reply");// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址 //$mail->addCC("xxx@qq.com");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址(这个人也能收到邮件) //$mail->addBCC("xxx@qq.com");// 设置秘密抄送人(这个人也能收到邮件) //$mail->addAttachment("bug0.jpg");// 添加附件 $mail->Subject = "客户信息";// 邮件标题 $mail->Body = $content;// 邮件正文 //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用 if (!$mail->send()) {// 发送邮件 return "验证码发送失败" . $mail->ErrorInfo;; } else { return '发送成功'; } } }
3.然后在创建一个index.php文件调用上面写的PHP类
<?php namespace app\controller; use app\BaseController; use think\facade\Request; use app\controller\Ma; class Index extends BaseController { public function index() { $a1 = Request::param(); $a3 = new Ma; $a2 = $a3->email('**********@qq.com',$a1); return redirect($_SERVER["HTTP_REFERER"]); } }
至此就可以了。