Mailgun でのメールの送信

Mailgun は、毎月最大 30,000 件の無料メールを Compute Engine ユーザーに提供するサードパーティのメールサービスです。 MailGun でも、プログラム API、ログの保持、メールのカスタマイズ、解析、メールの検証などを提供しています。

Mailgun に登録して使用するには、次の手順に従ってください。

始める前に

  1. Mailgun の Google パートナー ページ*で新しい Mailgun アカウントを作成します。 Compute Engine ユーザーは、毎月 3 万メッセージまで無料です。追加のメッセージに対する料金やボリューム ディスカウントについては、Mailgun の月額料金計算ツールで算出してください。

  2. 認証情報を取得します。この手順では、Mailgun SMTP ユーザー名、パスワード、ホスト名を把握している必要があります。Mailgun コントロール パネルの [Domains] セクションで、ユーザー名とパスワードを取得します。

    Mailgun SMTP ホスト名は smtp.mailgun.org です。

Postfix でのリレー

Mailgun をメールリレーとして設定すると、リモート配信が指定されたメールを Postfix で転送できます。

  1. SSH を使用してインスタンスに接続します。

    gcloud compute ssh INSTANCE
    
  2. スーパーユーザーになり、安全な umask を設定します。

    user@test-instance:~$ sudo su -
    

    root@test-instance:~# umask 077
    

  3. Postfix Mail Transport Agent をインストールします。プロンプトが表示されたら、ドメイン名についてはデフォルトの選択を受け入れますが、Local Only の設定を選択します。

    Debian


    root@test-instance:~# apt-get update && apt-get install postfix libsasl2-modules -y
    

    CentOS


    root@test-instance:~# yum install postfix cyrus-sasl-plain cyrus-sasl-md5 -y
    

  4. Postfix の設定オプションを変更します。Postfix の設定オプションは main.cf ファイルで設定されています。任意のテキスト エディタでこのファイルを開きます。

    root@test-instance:~# vi /etc/postfix/main.cf
    

  5. 次の行が存在する場合は、これらの行をコメントアウトします。

    # default_transport = error
    # relay_transport = error
    
  6. 次の行をファイルの末尾に追加して、Mailgun SMTP サービスを追加します。

    relayhost = [smtp.mailgun.org]:2525
    

    注: ポート 25 は Compute Engine で許可されないため、ポート 2525 を使用する必要があります。

  7. 次に、以下の行を追加して、SSL / TLS のサポートを適用し、これらのリクエストに対して STMP 認証を設定します。SASL(Simple Authentication and Security Layer)モジュールによって、Postfix の設定で認証が処理されます。次の行をファイルの末尾に追加します。

    smtp_tls_security_level = encrypt
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    smtp_sasl_security_options = noanonymous
    

    変更を保存し、ファイルを閉じます。

  8. SASL パスワード マップを生成します。

    root@test-instance:~# cat > /etc/postfix/sasl_passwd << EOF
    
    [smtp.mailgun.org]:2525 YOUR_SMTP_LOGIN:YOUR_SMTP_PASSWORD
    EOF
    

  9. postmap ユーティリティを使用して .db ファイルを生成します。

    root@test-instance:~# postmap /etc/postfix/sasl_passwd
    

    root@test-instance:~# ls -l /etc/postfix/sasl_passwd*
    
    -rw------- 1 root root    68 Jun  1 10:50 /etc/postfix/sasl_passwd
    -rw------- 1 root root 12288 Jun  1 10:51 /etc/postfix/sasl_passwd.db
    

  10. 認証情報を含むファイルは不要となったため、このファイルを削除します。

    root@test-instance:~# rm /etc/postfix/sasl_passwd
    

  11. .db ファイルに対する権限を設定します。

    root@test-instance:~# chmod 600 /etc/postfix/sasl_passwd.db
    

    root@test-instance:~# ls -la /etc/postfix/sasl_passwd.db
    
    -rw------- 1 root root 12288 Aug 31 18:51 /etc/postfix/sasl_passwd.db
    

  12. 最後に、設定を再読み込みして、変更したパラメータを読み込みます。

    Debian


    root@test-wheezy:~# /etc/init.d/postfix restart
    

    CentOS


    [root@test-centos ~]# postfix reload
    

  13. 設定をテストします。mailx または mailutils パッケージをインストールし、設定をテストします。

    Debian


    root@test-wheezy:~# apt-get install mailutils -y
    

    CentOS


    [root@test-centos ~]# yum install mailx -y
    

    テスト メッセージを送信します。

    root@test-instance:~# echo 'Test passed.' | mail -s Test-Email EMAIL@EXAMPLE.COM
    

    システムログを調べて、status を含むステータス行と正常なサーバー応答コード (250) を確認します。

    Debian


    root@test-wheezy:~# tail -n 5 /var/log/syslog
    

    CentOS


    [root@test-centos ~]# tail -n 5 /var/log/maillog
    

詳細な例や、メッセージのトラッキングとルーティングなどのその他のトピックについては、Mailgun ドキュメントをご覧ください。

Mailgun SMTP 設定

クライアントの設定に使用する Mailgun 固有の SMTP 設定を簡単に確認できるように、以下に示します。

  • ホスト: smtp.mailgun.org
  • ポート: 2525

* Google は、有料のアカウントに登録するお客様について、補償を受けます。

Google Cloud Platform のその他の機能をお試しください。チュートリアルをご覧ください。

外出先でもリソースをモニタリング

Google Cloud Console アプリを入手して、プロジェクトの管理にお役立てください。

フィードバックを送信...