只是想知道我是否可以在发送电子邮件时使用集成在 Laravel 中的 Office365。
提前谢谢你们。
您可以使用下面的php代码使用Office365发送电子邮件
<?php
require 'vendor/phpmailer/phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer(true);
$mail->isSMTP();
$mail->Host = 'smtp.office365.com';
$mail->Port = 587;
$mail->SMTPSecure = 'tls';
$mail->SMTPAuth = true;
$mail->Username = 'somebody@somewhere.com';
$mail->Password = 'YourPassword';
$mail->SetFrom('somebody@somewhere.com', 'FromEmail');
$mail->addAddress('recipient@domain.com', 'ToEmail');
//$mail->SMTPDebug = 3;
//$mail->Debugoutput = function($str, $level) {echo "debug level $level; message: $str";}; //$mail->Debugoutput = 'echo';
$mail->IsHTML(true);
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->send()) {
echo 'Email could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Email has been sent.';
}
您可以取消注释注释的代码,以防收到任何错误。
您还可以使用 Laravel 中的 Swift Mailer 库发送电子邮件。.env
文件应默认包含以下值:
MAIL_DRIVER=null
MAIL_HOST=null
MAIL_PORT=null
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
这些是默认值,您需要将其替换为您的 Office365 详细信息,如下所示:
MAIL_DRIVER=smtp
MAIL_HOST=smtp.office365.com
MAIL_PORT=587
MAIL_USERNAME=Office365AccountEmail
MAIL_PASSWORD=Office365AccountPassword
MAIL_ENCRYPTION=tls
有关更多详细信息,您可以参考此链接
希望这对您有所帮助。
你也可以使用这个邮件驱动程序: https://github.com/motze92/office365-mail
对于SMTP和office365,我们遇到了许多超时问题和节奏错误。通过图形休息 API 发送邮件效果更好。