Mailgun でのメールの送信

Mailgun API は HTTP に基づいて構築されており、RESTful です。予測可能なリソース指向の URL と組み込みの 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 の App Engine スタンダード環境