LoginSignup
5
5

More than 5 years have passed since last update.

GCPのインスタンス上でメールを送信する(SendGrid+postfix)

Last updated at Posted at 2017-11-07

はじめに

GCP Compute Engineインスタンスからは単独でメールを送信する事ができません。
メールが使えないと不便な事が多いですよね。
ここでは「SendGrid」というクラウドサービスを使い、インスタンス上からメールを送信する手順を紹介します。

SendGridとは

米SendGrid社によって2009年から提供されているクラウドベースのメール配信サービスで、月間3億通超のメール配信を行っているそうです。
このサービスには無料プランがあり、1日あたり100通以内のメール配信であれば無料で利用する事ができます。
詳細は「Pricing - SendGrid」をご覧ください。

SendGrid登録

以下の手順でSendGridにフリーアカウントを登録します。この時点ではクレジットカードの登録は必要ありません。

  1. トップページより「Sign Up」をクリックします
  2. 次のページ(価格一覧ページ)で「Try for Free」をクリックします
  3. 必要項目を入力し「Create Account」をクリックします
  4. プロフィールを入力し「Save」をクリックします
  5. 確認メールが届くので「Confirm Email Address」をクリックします

以上で登録は完了です。
※「Settings - Account Details」メニューよりタイムゾーンを変更しておくのをおすすめします。

APIキーの作成

サーバからSendGridを使用するため、以下の手順でAPIキーを作成します。

  1. 「Settings - API Keys」をクリックします
  2. 「Create API Key」をクリックします
  3. APIキーの名前とアクセス権限を設定し、「Create & View」をクリックします
  4. 完了画面に表示されるAPIキーをメモしておきましょう(※このキーは二度と表示されません
  5. 「Done」をクリックします

以上でAPIキーの作成は完了です。

アクセス元IPアドレスの制限

もしメール配信を利用するサーバが固定IPアドレスを持っている場合、こちらの設定をおすすめします。
この設定を行った場合、許可IPアドレス外からメールを配信する事ができなくなります

  1. 「Settings - IP Access Management」をクリックします
  2. 「+ Add IP Addresses」をクリックします
  3. 初回は同意画面がでますので、確認のうえチェックボックスにチェックし「Confirm and Continue」をクリックします
  4. 「IP address(es) or range」の欄にIPアドレスまたはIPアドレス範囲を記入します
  5. 「Save」をクリックします

Postfixインストール

今回はメールサーバとしてPostfixを使用します。
yumを使い以下の手順でインストールします。

yum -y install postfix cyrus-sasl-plain cyrus-sasl-md5 mailx

次に、postfix設定ファイルを開き、以下の内容を追記します。
「[PASTE_YOUR_KEY]」の部分は、先ほど作成したAPIキーを設定しましょう。

/etc/postfix/main.cf
# configure sendgrid
relayhost = [smtp.sendgrid.net]:2525
smtp_tls_security_level = encrypt
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:apikey:[PASTE_YOUR_KEY]
header_size_limit = 4096000
smtp_sasl_security_options = noanonymous

設定が完了したら、postfixの設定をリロードします。

postfix reload

これでサーバ上からメールが送信できるようになりました。
以下のコマンドにてテストメールを送ってみましょう。

echo 'This is test mail.' | mail -s TestMail [YOUR_MAIL_ADDRESS]
5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5