1、在自己的邮箱设置中,开启SMTP服务,以163邮箱为例:
①、登录邮箱,在侧边栏找到“邮箱中心”后面的设置按钮

②、在设置中找到“POP3/SMTP/IMAP”,点击,在右边开启服务:

在开启时,会提供一个密码,将它记下来,后面有用。
2、打开php.ini,开启 extension=openssl
3、下载PHPMailer-5.2.24.zip
4、解压下载的 PHPMailer 压缩文件,将class.phpmailer.php和class.smtp.php文件拷贝到thinkPHP项目的extend目录中的phpmailer目录下(phpmailer是自己新建的),当然,您也可以自己放到其他目录,只是后面的命名空间记住不要写错了。
5、将class.phpmailer.php和class.smtp.php更名为phpmailer.php和smtp.php
6、在phpmailer.php上面加入下面代码:
namespace phpmailer; use phpmailer\smtp;7、在phpmailer.php中找到下面的代码:
class phpmailerException extends Exception改为:
class phpmailerException \extends Exception8、给smtp.php也加入命名空间
namespace phpmailer;9、发送邮件(这里以发送验证码为例)方法:
public function send_code_to_email($email,$code){
$toemail = $email;
$mail = new PHPMailer();
$mail->isSMTP(); //开启smtp服务。php里面也要开启ssl
$mail->Charset = 'utf8';
$mail->Host = 'smtp.163.com';
$mail->SMTPAuth = true;
$mail->Username = 'xxxxx@163.com'; //你自己的邮箱
$mail->Password = 'SAQNHRTNRFBCMNPW'; //开启smtp时的密码,第一步里面得到的
$mail->SMTPSecure = 'ssl';
$mail->Port = 994;
$mail->setFrom('xxxxx@163.com', '接口测试'); //设置显示发件人
$mail->addAddress($toemail,'test'); //设置显示收件人邮箱和姓名
$mail->addReplyTo('xxxxx@163.com','Reply');
$mail->Subject = '您有新的验证码!';
$mail->Body = "这是一个测试邮件,您的验证码是$code,验证码的有效期为1分钟,本邮件请勿回复!";
if(!$mail->send()){
$this->return_msg(400,$mail->ErrorInfo);
}else{
$this->return_msg(200,'验证码已发送,请注意查收!');
}
}
至此,全部完成!下面是利用上面的方法发送成功的邮件截图:
当然,登录你刚才的163邮箱,进入已发送,也能看到发送的邮件。
