electricbrands/php-office365mailer

Send emails via Office365 using MS Graph API

0.4.1 2023-03-24 18:49 UTC

This package is auto-updated.

Last update: 2025-07-11 19:18:27 UTC


README

Send emails via Office365 using MS Graph API

Installation

  1. Via Composer:
composer require electricbrands/php-office365mailer
  1. Setup MS Account

  2. dotenv vars:

MS_TENANT_ID="your tenant id" 
MS_CLIENT_ID="your client id" 
MS_CLIENT_SECRET="your client secret"
  1. Make sure that the files directory is writable for the webserver

Example

<?php 

use Electricbrands\PhpOffice365mailer\PhpOffice365mailer;
# use \Dotenv\Dotenv;

require( __DIR__ . '/vendor/autoload.php' );

/* if you are using dotenv
$dotenv = Dotenv::createImmutable( __DIR__ );
$dotenv->load();
 */

/* In case that you don't have dotenv installed */
$_ENV["MS_TENANT_ID"] = "Enter your tenant id"; 
$_ENV["MS_CLIENT_ID"] = "Enter your client id"; 
$_ENV["MS_CLIENT_SECRET"] = "Enter your client secret";

$mail = new PhpOffice365mailer();

# View JWT Informations
# $mail->tokenInfo();

# Send Mail
$mail->setFrom('from@example.com', 'Mailer');
$mail->addAddress('joe@example.net', 'Joe User');     //Add a recipient
$mail->addAddress('ellen@example.com');               //Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

# Content
$mail->isHTML(true); //Set email format to HTML
$mail->Subject = 'this is a mail from ms graph just for you';
$mail->Body    = '<html>This is a html <b>mail</b> body for <i>you</i></html>';

# Add attachment
$mail->addAttachment( __DIR__ . '/testpdf.pdf', 'yourtestpdf.pdf' );

# Send
$mail->send();

# Or send and debug
# $mail->send( true );

Links