簡體   English   中英

EWS - php 發送帶附件的 email

[英]EWS - php sending email with attachment

我是從 Exchangeclient 類中使用 EWS 的新手。

我正在尋找一個簡單的示例,如何發送帶有附件的 email。 我找到了有關如何發送 email 但不發送帶有附件的 email 的示例。

這是我的腳本:

$exchangeclient = new Exchangeclient();
$exchangeclient->init($username, $password, NULL, 'ews/Services.wsdl');
$exchangeclient->send_message($mail_from, $subject, $body, 'HTML', true, true);

function - PHP 類:

    function send_message($to, $subject, $content, $bodytype="Text", $saveinsent=true, $markasread=true) {
    $this->setup();

    if($saveinsent) {
        $CreateItem->MessageDisposition = "SendOnly";
        $CreateItem->SavedItemFolderId->DistinguishedFolderId->Id = "sentitems";
    }
    else
        $CreateItem->MessageDisposition = "SendOnly";

    $CreateItem->Items->Message->ItemClass = "IPM.Note";
    $CreateItem->Items->Message->Subject = $subject;
    $CreateItem->Items->Message->Body->BodyType = $bodytype;
    $CreateItem->Items->Message->Body->_ = $content;
    $CreateItem->Items->Message->ToRecipients->Mailbox->EmailAddress = $to;

    if($markasread)
        $CreateItem->Items->Message->IsRead = "true";

    $response = $this->client->CreateItem($CreateItem);

    $this->teardown();

    if($response->ResponseMessages->CreateItemResponseMessage->ResponseCode == "NoError")
        return true;
    else {
        $this->lastError = $response->ResponseMessages->CreateItemResponseMessage->ResponseCode;
        return false;
    }

}

您必須首先將 email 保存為草稿(具有適當的消息處置),然后 CreateAttachment() 使其具有附件,然后使用 UpdateItem() 對其進行編輯,使消息處置為 SendOnly。 然后它將被發送。

請參閱 David Sterling 在此線程上的回復: http://social.technet.microsoft.com/Forums/en-US/exchangesvrdevelopment/thread/f7d5257e-ec98-40fd-b301-f378ba3080fd/ (關於會議請求,但它們的工作方式相同方法。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM