How to send emails from inside or outside your organization with Exchange 2007/2010/2013/Online using PHP.
Fast instructions:
- Go to GitHub PHP-EWS and download the libraries
- Edit the following example and you will be sending e-mails with Exchange in a minutes.
PHP Code:
Hope it helps!
<?php
//for debugging purpose only, remove in production
error_reporting(E_ALL);
ini_set( 'display_errors','1');
//Load libraries
require_once('ExchangeWebServices.php');
require_once('NTLMSoapClient.php');
require_once('NTLMSoapClient/Exchange.php');
require_once('EWS_Exception.php');
require_once('EWSType.php');
require_once('EWSType/MessageType.php');
require_once('EWSType/EmailAddressType.php');
require_once('EWSType/BodyType.php');
require_once('EWSType/SingleRecipientType.php');
require_once('EWSType/CreateItemType.php');
require_once('EWSType/NonEmptyArrayOfAllItemsType.php');
require_once('EWSType/ItemType.php');
class EwsSendEmail
{
protected function sendEmail()
{
$server = 'mail.server.com';
$username = 'domain\username';
$password = '';
$ews = new ExchangeWebServices($server, $username, $password);
$msg = new EWSType_MessageType();
$toAddresses = array();
$toAddresses[0] = new EWSType_EmailAddressType();
$toAddresses[0]->EmailAddress = 'user@domain.com';
$toAddresses[0]->Name = 'Name Surname';
$toAddresses[1] = new EWSType_EmailAddressType();
$toAddresses[1]->EmailAddress = 'user2@domain.com';
$toAddresses[1]->Name = 'Name2 Surname';
$msg->ToRecipients = $toAddresses;
$fromAddress = new EWSType_EmailAddressType();
$fromAddress->EmailAddress = 'mailFrom@domain.com';
$fromAddress->Name = 'NameFrom Surname';
$msg->From = new EWSType_SingleRecipientType();
$msg->From->Mailbox = $fromAddress;
$msg->Subject = 'Test missage from PHP code';
$msg->Body = new EWSType_BodyType();
$msg->Body->BodyType = 'HTML';
$msg->Body->_ = '<p style="font-size: 18px; font-weight: bold;">MESSAGE BODY!</p>';
$msgRequest = new EWSType_CreateItemType();
$msgRequest->Items = new EWSType_NonEmptyArrayOfAllItemsType();
$msgRequest->Items->Message = $msg;
$msgRequest->MessageDisposition = 'SendAndSaveCopy';
$msgRequest->MessageDispositionSpecified = true;
$response = $ews->CreateItem($msgRequest);
var_dump($response);
}
function __construct()
{
$this->sendEmail();
}
}
$page = new EwsSendEmail();
?>
More information:
Hope it helps!
No comments:
Post a Comment