views4GCPのストレージサービスについてまとめてみた。Exp:58632メカです。TweetShareHatena注意この記事は2015年11月26日に更新されたもので、内容が古い可能性がありますのでご注意ください。インスタンスからメールを送信するのはニーズがあります。残念なことに、GCEでは立ち上げたインスタンスにMTA(メール転送エージェント)を構築しただけではメールは送れません。Blocking対策)世界全体のメールトラフィックの75%はスパムメールが占めていると言われています。Blockingと呼ばれる)。サードパーティを介してメールを送ることになります。(実は裏口もありますが...)メールを送信する方法GCEからSMTPプロトコルにてメールを送信するには、サードパーティを利用する方法とGoogleAppsのアカウントを使ったメール送信機能を利用する方法との2通りがあります。(別途WebAPI等全く別の方法もあります)今回はその中でもオーソドックスである、Google推奨のSendGridを利用する方法を紹介します。利用した例を上げます)を生成した前提で次のステップを踏みます。登録するSendGridはクラウド上にあるメールインフラです。利用しており、SendGrid全体では月間190億通のメールを配信しています。自前でメールインフラを保守運用するより低コストです。クリックトラッキングも提供しています。SendGrid日本代理店の登録ページから個人情報と利用用途を入力し、申請します。利用用途が明確であれば1日以内で申請が下り、ログインユーザ名がメールにて送られてきます。ログインユーザ名と設定したパスワードでログインします。ログインしますと、以下のようなダッシュボードが表示されます。SendGridアカウントの準備はこれにて完了です。公式ドキュメントに則り解説しますので、一読してみてください。(本文章の通りにやればドキュメントは見なくても大丈夫です)メールを送信させたいインスタンスに接続し、Postfixをインストールします。セットアップしました。以下の手順はそれを前提に進めます。スーパーユーザになってデフォルトファイルアクセス権をルート以外アクセスできないよう設定します。077postfixのインストールを開始します。-yインストール中にダイアログが表示され、メールサーバ設定タイプを選択します。(ローカルのみ)にします。2つ目のダイアログでは、任意のシステム名を入力します。デフォルト値のままでも構いません。ファイルを作成し、SendGridのログイン用のユーザ名とパスワードを書き入れて保存します。コロンで区切って書きます。SendGridにSMTPでメールを送信するには2525番ポートを使用しますのでポート番号は2525と指定します。コマンドでsasl_passwd.dbを作成します。/etc/postfix/sasl_passwdDBファイルが生成されたらパスワードが平文で書かれたファイルは危険なので削除しておきます。開き、メール送信をSSL/TLSで且つ、SMTPで認証するようファイルの下方に以下の設定を追記します。[smtp.sendgrid.net]:2525また、同ファイルの以下の行をハッシュでコメントアウトし、保存します。errorPostfixの設定をリロードします。reload以上でpostfixの設定は完了です。3.sendmailコマンドでメールを送信する下のようなsendmailコマンドを打つことでメール送信が出来ているかどうか確認出来ます。経由でメールが送られてきました。SPFレコードとDKIMを設定してメールを確実に届ける方法GCEからメールを送信する最低限の設定は上で紹介した方法で実現できますが、受信サーバによっては送信元を偽装したメールを弾くようになっておりメールが届かないことがあります。多くのメールサーバに確実に到達させるにはもうひとステップ必要です。以下の2つを設定することで送信元を保証することです。(送信元IPアドレスで認証する機能)の3つの機能があります。一緒に設定することがメールの到達率を上げる上でより好ましいです。迷惑メールフィルタに引っかかりにくくなります。Silverプラン以上に変更する必要があります。設定には、固定IPアドレスが必要です。SendGridの固定IPアドレスは1本あたり月額2500円で購入できます。固定IPアドレスは追加で購入することができます。注意するべきは、一つの固定IPアドレスに複数のドメインを紐付けることはできません。Silverプランは月額9,480円で、SendGridのメール送信サーバの固定IPアドレスが1本おまけで付いてきます(2015年11月現在)。作成します(メニューの構成は変わることがあります)。いうドメインを使って設定しています。Viewを開きますと、DNSに追加するべきMXレコードとTXTレコードが表示されます。MXレコードとTXTレコードのHostとDataをコピーし、ドメインレジストラのDNSレコード入力欄に入れます。下の図のDNSレコードはsea-passport.jpの例として表示されています。レコードはレジストラに追加してから反映まで1分程時間がかかります。クリックしてSendGridとDNSとの紐付けを確認します。スペルミス等なくDNSに正しく反映されていれば×マークが緑のチェックマークに変わり、設定完了です。