今天突然想起来邮件发送,就看了一下PHPmailer,其实这个用起来很简单,都是封装好的 https://github.com/PHPMailer/PHPMailer,直接下载下来之后,把他放入TP5.0 框架的extend文件夹里面
在Controller里面创建一个文件Mail.php,代码如下
1 /**
2 * Created by PhpStorm.
3 * User: luxiao
4 * Date: 2017/5/8
5 * Time: 11:23
6 */
7
8 namespace appindexcontroller;
9
10 use PHPMailerPHPMailerPHPMailer;
11 use PHPMailerPHPMailerException;
12 use thinkController;
13
14 class Mail extends Controller
15 {
16
17 //发送邮箱验证码
18 public function email()
19 {
20 $toemail = 'xxxxx@163.com';//定义收件人的邮箱
21
22 $mail = new PHPMailer();
23
24 $mail->isSMTP();// 使用SMTP服务
25 $mail->CharSet = "utf8";// 编码格式为utf8,不设置编码的话,中文会出现乱码
26 $mail->Host = "smtp.qq.com";// 发送方的SMTP服务器地址
27 $mail->SMTPAuth = true;// 是否使用身份验证
28 $mail->Username = "xxxxx@qq.com";// 发送方的QQ邮箱用户名,就是自己的邮箱名
29 $mail->Password = "xxxx";// 发送方的邮箱密码,不是登录密码,是qq的第三方授权登录码,要自己去开启,在邮箱的设置->账户->POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 里面
30 $mail->SMTPSecure = "ssl";// 使用ssl协议方式,
31 $mail->Port = 465;// QQ邮箱的ssl协议方式端口号是465/587
32
33 $mail->setFrom("xxxxx@qq.com","xxxx");// 设置发件人信息,如邮件格式说明中的发件人,
34 $mail->addAddress($toemail,'xxxxx');// 设置收件人信息,如邮件格式说明中的收件人
35 $mail->addReplyTo("xxxxx@qq.com","Reply");// 设置回复人信息,指的是收件人收到邮件后,如果要回复,回复邮件将发送到的邮箱地址
36 //$mail->addCC("xxx@163.com");// 设置邮件抄送人,可以只写地址,上述的设置也可以只写地址(这个人也能收到邮件)
37 //$mail->addBCC("xxx@163.com");// 设置秘密抄送人(这个人也能收到邮件)
38 //$mail->addAttachment("bug0.jpg");// 添加附件
39
40
41 $mail->Subject = "这是一个测试邮件";// 邮件标题
42 $mail->Body = "邮件内容是 <b>我就是玩玩</b>,哈哈哈!";// 邮件正文
43 //$mail->AltBody = "This is the plain text纯文本";// 这个是设置纯文本方式显示的正文内容,如果不支持Html方式,就会用到这个,基本无用
44
45 if(!$mail->send()){// 发送邮件
46 echo "Message could not be sent.";
47 echo "Mailer Error: ".$mail->ErrorInfo;// 输出错误信息
48 }else{
49 echo '发送成功';
50 }
51 }
52 }
设置好上面的之后,就可以了;我自己测试之后可以发送成功,没有什么问题!