Bonjour à tous,
Aujourd'hui je veux communiquer entre une application web et des comptes Exchange. Pour cela j'utilise la librairie php-ews ( php ExchangeWebServices).
J'ai suivi le tuto du wiki : https://github.com/jamesiarmes/php-ews/wiki/Email:-Send-Email et j'ai réussi à faire çà :
J'ai d'abord testé seul la création du pont ; il reconnaît bien mon utilisateur et se connecte. Mon problème est une erreur 500 sur "$response = $ews->CreateItem($msgRequest);" (dans la fonction).
Est ce que quelqu'un a déjà utilisé cette librairie ? Y'a t'il des ports à activer sur le serveur ?
Merci à tous et bonne année 2014.
Modifié par mini-truc (08 Jan 2014 - 14:50)
Aujourd'hui je veux communiquer entre une application web et des comptes Exchange. Pour cela j'utilise la librairie php-ews ( php ExchangeWebServices).
J'ai suivi le tuto du wiki : https://github.com/jamesiarmes/php-ews/wiki/Email:-Send-Email et j'ai réussi à faire çà :
//librairies ExchangeWebServices - php-ews
require_once('assets/librairies/php-ews/ExchangeWebServices.php');
require_once('assets/librairies/php-ews/NTLMSoapClient.php');
require_once('assets/librairies/php-ews/NTLMSoapClient/Exchange.php');
require_once('assets/librairies/php-ews/EWS_Exception.php');
require_once('assets/librairies/php-ews/EWSType.php');
require_once('assets/librairies/php-ews/EWSType/MessageType.php');
require_once('assets/librairies/php-ews/EWSType/EmailAddressType.php');
require_once('assets/librairies/php-ews/EWSType/BodyType.php');
require_once('assets/librairies/php-ews/EWSType/SingleRecipientType.php');
require_once('assets/librairies/php-ews/EWSType/CreateItemType.php');
require_once('assets/librairies/php-ews/EWSType/NonEmptyArrayOfAllItemsType.php');
require_once('assets/librairies/php-ews/EWSType/ItemType.php');
function sendMail($ews, $toAddresses, $fromAddress, $subject, $message) {
$msg = new EWSType_MessageType();
//destinataires
$msg->ToRecipients = $toAddresses;
//expéditeur
$msg->From = new EWSType_SingleRecipientType();
$msg->From->Mailbox = $fromAddress;
//sujet
$msg->Subject = $subject;
//format
$msg->Body = new EWSType_BodyType();
$msg->Body->BodyType = 'HTML';
//message
$msg->Body->_ = $message;
$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);
return $response;
}
$host = '***';
$login = '***';
$password = '***';
//création du pont
$ews = new ExchangeWebServices($host, $login, $password);
if($ews){
//destinataire(s)
$toAddresses = array();
$toAddresses[0] = new EWSType_EmailAddressType();
$toAddresses[0]->EmailAddress = '***';
$toAddresses[0]->Name = '***';
//expéditeur
$fromAddress = new EWSType_EmailAddressType();
$fromAddress->EmailAddress = '***';
$fromAddress->Name = '***';
//sujet
$subject = 'Test email';
//corps du message (format HTML)
$message = '<p style="color:#f49a20; font-size: 18px; font-weight: bold;">Test email message.</p>';
$mail = sendMail($ews, $toAddresses, $fromAddress, $subject, $message);
if($mail){
echo $mail;
}else{
echo "Une erreur s'est produite lors de l'envoi de l'email.";
}
}else{
echo "Erreur de connexion : veuillez vérifier vos identifiants.";
}
J'ai d'abord testé seul la création du pont ; il reconnaît bien mon utilisateur et se connecte. Mon problème est une erreur 500 sur "$response = $ews->CreateItem($msgRequest);" (dans la fonction).
Erreur Curl : The requested URL returned error: 500
Est ce que quelqu'un a déjà utilisé cette librairie ? Y'a t'il des ports à activer sur le serveur ?
Merci à tous et bonne année 2014.
Modifié par mini-truc (08 Jan 2014 - 14:50)