使用snipworks/php-smtp发送邮件

1、下载
git地址:https://github.com/snipworks/php-smtp
composer require snipworks/php-smtp

2、封装代码示例

/**
 * @purpose 发送邮件
 * @author ffx
 * @param string $smtpServer 邮箱smtp服务地址
 * @param string $loginMail 登录邮箱(真实发件箱)
 * @param string $loginPwd smtp授权码
 * @param string $direction 收件人地址
 * @param string $recipientName 收件人名称
 * @param string $sendMail 显示的发送人地址
 * @param string $sendName 显示的发送人名称
 * @param string $title 邮件标题
 * @param array $data
 * @return string
 */
public function send($smtpServer, $loginMail, $loginPwd, $direction, $recipientName, $sendMail, $sendName, $title = '钔店机异常日志', $data = [])
{
    $content = '';
    foreach ($data as $k => $v){
        $temp = "<b>$k :</b><br>$v<br>";
        $content .= $temp;
    }

    $mail = new SnipworksSmtpEmail($smtpServer, 25); //邮箱smtp服务地址
    $mail->setLogin($loginMail, $loginPwd); //发送邮箱,授权码
    $mail->addTo($direction, $recipientName); //收件人地址,名称
    $mail->setFrom($sendMail, $sendName); //发送人地址,名称
    $mail->setSubject($title); //主题
    $mail->setHtmlMessage($content);
    if($mail->send()){
        return 'success!';
    } else {
        return 'an error occurred.';
    }
}

有两种方式,以上封装为简单不太安全的示例,另一种需要加如下代码:

$mail = new Email('smtp.example.com', 587);
$mail->setProtocol(Email::TLS);
原文地址:https://www.cnblogs.com/yangjiayu/p/11225922.html