PHPMailer met Microsoft 365

In dit voorbeeld laten we zien hoe je PHPMailer gebruikt om e-mails te versturen met Microsoft 365.

Om je e-mails via jouw Microsoft 365-e-mailadres te kunnen verzenden, moet je eerst SMTP-verificatie voor dat e-mailadres inschakelen in jouw Microsoft 365-beheercentrum. Anders blokkeert Microsoft 365 verzoeken naar de SMTP-server.

Open om te beginnen het tabblad Actieve gebruikers in je Microsoft 365-beheer centrum. Je kunt hier klikken om de rechterpagina te openen of het hamburger pictogram in de linkerbovenhoek van het beheer centrum uit te vouwen en naar Gebruikers >gebruikers te gaan.

Klik vervolgens op het e-mailaccount dat je wilt gebruiken om de e-mails van jouw WordPress-site te verzenden. Dit zal een menu uitklappen met meer opties.

Ga in de uitklapmenu naar het tabblad Mail. Klik vervolgens op de optie E-mail apps beheren. Vink vervolgens de optie Authenticated SMTP aan en klik op de Save changes knop.

  • Download de PhpMailer map en upload de inhoud naar de server

Zorg er opnieuw voor dat je het PHPMailer pakket downloadt en uploadt naar de openbare map op de server.

  • Maak het phpmail.php bestand en voeg de code toe

Maak een phpmail.php bestand, voeg de volgende coderegels toe, sla het op en upload deze naar de openbare map met behulp van de FTP-client.

<?php 
// Import PHPMailer classes into the global namespace // These must be at the top of your script, not inside a function 
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require './PHPMailer/src/Exception.php';
require './PHPMailer/src/PHPMailer.php';
require './PHPMailer/src/SMTP.php';
$mail = new PHPMailer(true); // Passing `true` enables exceptions 
try { 
//Server settings 
$mail->SMTPDebug = 2; // Enable verbose debug output
$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.office365.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = "[email protected]";
$mail->Password = "your-mail-password";
$mail->SMTPSecure = 'tls'; // Enable SSL encryption, TLS also accepted with port 465
$mail->Port = 587; // TCP port to connect to 
//Recipients 
$mail->setFrom('[email protected]', 'Mailer'); //This is the email your form sends From 
$mail->addAddress('[email protected]', 'Joe User'); // Add a recipient address
//Content 
$mail->isHTML(true); // Set email format to HTML 
$mail->Subject = 'Subject line goes here';
$mail->Body = 'Body text goes here'; 

$mail->send(); echo 'Message has been sent'; 
} catch (Exception $e) { echo 'Message could not be sent.'; 
echo 'Mailer Error: ' . $mail->ErrorInfo;
}
?>