使用 Mail API 傳送及接收郵件

本指南說明如何使用 Mail API 傳送及接收郵件。

事前準備

您必須將寄件者電子郵件註冊為已獲授權的寄件者。詳情請參閱可以傳送電子郵件的人員

傳送郵件

PHP 內建的 mail() 函式可透過 App Engine Mail API 傳送電子郵件。只要符合「傳送郵件」一節所列的限制,這項功能應可與大多數現有程式碼搭配使用。

或者,您也可以直接呼叫 Mail API:

use google\appengine\api\mail\Message;

// Notice that $image_content_id is the optional Content-ID header value of the
// attachment. Must be enclosed by angle brackets (<>)
$image_content_id = '<image-content-id>';

// Pull in the raw file data of the image file to attach it to the message.
$image_data = file_get_contents('image.jpg');

try {
    $message = new Message();
    $message->setSender('from@example.com');
    $message->addTo('to@example.com');
    $message->setSubject('Example email');
    $message->setTextBody('Hello, world!');
    $message->addAttachment('image.jpg', $image_data, $image_content_id);
    $message->send();
    echo 'Mail Sent';
} catch (InvalidArgumentException $e) {
    echo 'There was an error';
}

接收郵件

您可以設定應用程式接收下列地址格式的內送電子郵件:

anything@appid.appspotmail.com

如要接收電子郵件:

  1. 在應用程式的 app.yaml 檔案中啟用內送郵件。請在 inbound_services 中新增下列內容:

    - mail
  2. 在設定檔中,從代表電子郵件地址的網址路徑,建立與應用程式碼的處理常式之間的對應關係。模式 /_ah/mail/.+ 會比對所有內送電子郵件地址:

    - url: /_ah/mail/.+
      script: handle_incoming_email.php
      login: admin
  3. 針對您在應用程式的程式碼中指定的處理常式,為該處理常式實作程式碼。

    您可以從 php://input 讀取 MIME 資料,並使用 Mailparse 剖析電子郵件內容。