Чтобы отправить электронное письмо с вложением, вы должны сначала создать сообщение (элемент) без каких-либо получателей (и расположение сообщения «SendToNone» или что-то в этом роде) и сохранить его в папке «Черновики». Затем создайте запрос для CreateAttachment, например, где $ key - это ключ изменения элемента, который вы создали ранее (вы должны прочитать ответ сервера и сохранить ключ где-нибудь, потому что ключ изменения изменяется для элемента при каждой модификации, которой он подвергается. ):
$attachrequest->ParentItemId->ChangeKey = $key;
$attachrequest->Attachments->FileAttachment->Name = $attachment_name;
$attachrequest->Attachments->FileAttachment->ContentLocation = $attachment;
$attachrequest->Attachments->FileAttachment->Content = $attachment_content;
$attachrequest->Attachments->FileAttachment->ContentType = $attachment_contenttype;
$response = self::$ews->CreateAttachment($attachrequest);
ТОГДА вы обновляете сообщение (с помощью элемента UpdateItem), чтобы включить в него получателей, и чтобы MessageDisposition был чем-то вроде SendToAllAndSaveCopy.
(Отказ от ответственности: я сейчас использую этот метод, и он все работает нормально, за исключением определения правильного формата для Attachments->FileAttachment->Content
, который выглядит так, как будто это должны быть закодированные данные base64 вложения - но мой компьютер может ' не открывать вложения, которые я отправляю.)
Во всяком случае, я считаю, что это способ сделать это, и, конечно, я смог отправить сообщения с вложениями с ним.