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

时间:2017-07-13 12:18:57

标签: php laravel office365

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

提前谢谢你们。

2 个答案:

答案 0 :(得分:1)

您可以使用以下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

有关详细信息,请参阅this link

希望这会对你有所帮助。

答案 1 :(得分:0)

您还可以使用以下邮件驱动程序: https://github.com/motze92/office365-mail

使用SMTP和Office365,我们遇到了许多超时问题和临时错误。通过graph rest api发送邮件效果更好。