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 \Snipworks\Smtp\Email($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);