Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Send emails using Office365 integrated in laravel

Just want to know if how can I use Office365 integrated in laravel on sending emails.

Thank you guys in advance.

like image 999
Jeric Avatar asked Jan 30 '23 00:01

Jeric


1 Answers

you can use below php code to send emails using 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 = '[email protected]';
$mail->Password = 'YourPassword';
$mail->SetFrom('[email protected]', 'FromEmail');
$mail->addAddress('[email protected]', '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.';
}

You can uncomment the commented code in case you receive any error.

You can also use Swift Mailer library in Laravel to send emails. The .env file should contain as default the following values:

MAIL_DRIVER=null
MAIL_HOST=null
MAIL_PORT=null
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null

These are the default values, you need to replace it with your Office365 details like below :

MAIL_DRIVER=smtp
MAIL_HOST=smtp.office365.com
MAIL_PORT=587
MAIL_USERNAME=Office365AccountEmail
MAIL_PASSWORD=Office365AccountPassword
MAIL_ENCRYPTION=tls

For more details you can refer this link

Hope this will help you.

like image 77
Hemant Kabra Avatar answered Feb 03 '23 06:02

Hemant Kabra