php-ews
php-ews copied to clipboard
Loading the Email-Signature in office365 Outlook
Hi Gareth,
our company switched over to outlook365 onlione exchange server. Everything still works fine with your library except loading the email-signature.
on the old Email Server, this worked:
require_once "vendor/autoload.php";
use garethp\ews\API;
use garethp\ews\API\Message\GetUserConfigurationType;
use garethp\ews\API\Enumeration\DistinguishedFolderIdNameType;
use garethp\ews\API\Enumeration\ResponseClassType;
use garethp\ews\API\Enumeration\UserConfigurationPropertyType;
use garethp\ews\API\Type\DistinguishedFolderIdType;
use garethp\ews\API\Type\UserConfigurationNameType;
$client = API::withUsernameAndPassword("outlook.office.com", "myusername", "mypassword"); // NEW CONNECTION
//$client = API::withUsernameAndPassword("owa.mycompany.de", "myusername", "mypassword"); // THIS WAS THE OLD CONNECTION
$request = [
'UserConfigurationName' => [
'Name' => 'OWA.UserOptions',
'DistinguishedFolderId' => ['Id' => DistinguishedFolderIdNameType::ROOT]
],
'UserConfigurationProperties' => UserConfigurationPropertyType::ALL
];
$response = $client->getClient()->GetUserConfiguration($request);
$uconfname=$response->getDictionary()->DictionaryEntry;
for ($i=0; $i<count($uconfname); $i++) {
$entry=$uconfname[$i]->getDictionaryKey()->getValue();
if ($entry=="signaturehtml") {
$signatur=$uconfname[$i]->getDictionaryValue()->getValue();
}
}
echo $signatur;
I think this is the problem:
'Name' => 'OWA.UserOptions',
but what's the correct Object to replace here?
Would be great to hear from you. Best wishes
Daniel