使用 Mailgun 傳送電子郵件

Mailgun API 以 HTTP 為基礎並符合 REST 樣式,它使用資源導向的可預測網址,並且內建用於參數傳送及驗證的 HTTP 功能。Mailgun API 會使用標準 HTTP 回應碼來回應,以表示錯誤狀態並傳回 JSON 值。

Mailgun 已發佈各種程式語言適用的程式庫。您可以使用這些程式庫或是自己偏好的 HTTP/REST 程式庫,向 Mailgun 發出 HTTP 呼叫。

如需更多以其他程式設計語言撰寫的程式碼範例,請參閱 Mailgun 說明文件

定價

Google Cloud Platform 使用者每月傳送的前 30,000 封電子郵件免費。請參閱申請網頁上的每月計費工具,進一步瞭解額外電子郵件的定價和大量寄信的折扣。

設定

傳送純文字電子郵件

def send_simple_message(recipient):
    http = httplib2.Http()
    http.add_credentials('api', MAILGUN_API_KEY)

    url = 'https://api.mailgun.net/v3/{}/messages'.format(MAILGUN_DOMAIN_NAME)
    data = {
        'from': 'Example Sender <mailgun@{}>'.format(MAILGUN_DOMAIN_NAME),
        'to': recipient,
        'subject': 'This is an example email from Mailgun',
        'text': 'Test message from Mailgun'
    }

    resp, content = http.request(
        url, 'POST', urlencode(data),
        headers={"Content-Type": "application/x-www-form-urlencoded"})

    if resp.status != 200:
        raise RuntimeError(
            'Mailgun API error: {} {}'.format(resp.status, content))

傳送 HTML 與文字電子郵件

傳送具有 HTML 與部分文字的電子郵件,

def send_complex_message(recipient):
    http = httplib2.Http()
    http.add_credentials('api', MAILGUN_API_KEY)

    url = 'https://api.mailgun.net/v3/{}/messages'.format(MAILGUN_DOMAIN_NAME)
    data = {
        'from': 'Example Sender <mailgun@{}>'.format(MAILGUN_DOMAIN_NAME),
        'to': recipient,
        'subject': 'This is an example email from Mailgun',
        'text': 'Test message from Mailgun',
        'html': '<html>HTML <strong>version</strong> of the body</html>'
    }

    resp, content = http.request(
        url, 'POST', urlencode(data),
        headers={"Content-Type": "application/x-www-form-urlencoded"})

    if resp.status != 200:
        raise RuntimeError(
            'Mailgun API error: {} {}'.format(resp.status, content))

回應範例:

{
    "message": "Queued. Thank you.",
    "id": "<20111114174239.25659.5817@samples.mailgun.org>"
}

瞭解詳情

如要進一步瞭解相關示例和資訊 (包括如何追蹤與轉送訊息),請參閱 Mailgun 說明文件

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Python 2 適用的 App Engine 標準環境