PHPMailer支持多种邮件发送方式,这里我们使用SMTP
注意:测试邮件发送,可能会屏蔽掉,进入垃圾箱。
lib中phpmailer中包含3个文件,分别是:Phpmailer.php Stmp.php Email.php
Phpmailer.php Stmp.php 官方提供,只需要改写为TP5的类就行。
这里只写出Email.php代码, 部分参数在配置文件中
<?php
namespace phpmailer;
/**
* 发送邮件类库
*/
class Email{
/**
* @param $to
* @param $title
* @param $content
* @return bool
*/
public static function send($to,$title,$content){
date_default_timezone_set('PRC');//set time
if(empty($to)){
return false;
}
//Create a new PHPMailer instance
$mail = new Phpmailer;
//Tell PHPMailer to use SMTP
$mail->isSMTP();
//Enable SMTP debugging
// 0 = off (for production use)
// 1 = client messages
// 2 = client and server messages
//$mail->SMTPDebug = 2;
//Ask for HTML-friendly debug output
$mail->Debugoutput = 'html';
//Set the hostname of the mail server
$mail->Host = config('email.host');
//Set the SMTP port number - likely to be 25, 465 or 587
$mail->Port = config('email.port');
//Whether to use SMTP authentication
$mail->SMTPAuth = true;
//Username to use for SMTP authentication
$mail->Username = config('email.username');
//Password to use for SMTP authentication
$mail->Password = config('email.password');
//Set who the message is to be sent from
$mail->setFrom('maikeshushu520@163.com', '商城');
//Set an alternative reply-to address
//$mail->addReplyTo('replyto@example.com', 'First Last');
//Set who the message is to be sent to
$mail->addAddress($to);
//Set the subject line
$mail->Subject = $title;
//Read an HTML message body from an external file, convert referenced images to embedded,
//convert HTML into a basic plain-text alternative body
$mail->msgHTML($content);
//Replace the plain text body with one created manually
//$mail->AltBody = 'This is a plain-text message body';
//Attach an image file
//$mail->addAttachment('images/phpmailer_mini.png');
//send the message, check for errors
if (!$mail->send()) {
return false;
// echo "Mailer Error: " . $mail->ErrorInfo;
} else {
return true;
}
}
}
基于TP5的控制器
/**
* 测试发送邮件服务
*/
public function aqie(){
\phpmailer\Email::send('maikeshushu520@163.com','啊切你好','222');
return '发送邮件成功';
return $this->fetch();
}