使用集成在 laravel 中的 Office365 发送电子邮件

Jer*_*ric 4 php office365 laravel

只是想知道如何使用集成在 laravel 中的 Office365 发送电子邮件。

提前谢谢你们。

Hem*_*bra 7

您可以使用以下 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.';
}
Run Code Online (Sandbox Code Playgroud)

如果您收到任何错误,您可以取消注释注释代码。

您还可以使用 Laravel 中的 Swift Mailer 库来发送电子邮件。该.env文件应默认包含以下值:

MAIL_DRIVER=null
MAIL_HOST=null
MAIL_PORT=null
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
Run Code Online (Sandbox Code Playgroud)

这些是默认值,您需要将其替换为您的 Office365 详细信息,如下所示:

MAIL_DRIVER=smtp
MAIL_HOST=smtp.office365.com
MAIL_PORT=587
MAIL_USERNAME=Office365AccountEmail
MAIL_PASSWORD=Office365AccountPassword
MAIL_ENCRYPTION=tls
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,您可以参考此链接

希望这会帮助你。

  • `MAIL_ENCRYPTION=tsl` 有一个错字 `tsl` 应该是 `tls` (4认同)