Google Compute Engine(GCE)からメール送信する方法

Google Compute Engineでは、ポート番号25(SMTP),465(SMTP over SSL),587(e-mail message submission)が閉じられている為、通常のメール送信が出来ません。
メール送信をする場合、SMTP以外でメール送信を行う必要があります。
以下にクラウドメール送信サービスをご紹介致します。

下記は、MarkerChatのログを一部加工したものです

マーカー部分やアイコンをクリックすると当該コメントにスクロールします

MarkerChat管理者 2014-10-04 02:05:22

Amazon SES(http://aws.amazon.com/jp/ses/)
Critsend(http://www.critsend.com/)
Elastic Email(http://elasticemail.com/)
LeaderSend(http://www.leadersend.com/)
Mailchimp(http://http://mailchimp.com/)
Mailjet(https://www.mailjet.com/)
Mandrill(http://mandrill.com/)
PostageApp(http://postageapp.com/)
Postmark(https://postmarkapp.com/)
SocketLabs(http://www.socketlabs.com/)
turboSMTP(http://www.serversmtp.com/)
ニフティクラウド ESS(https://cloud.nifty.com/service/ess.htm)

沢山のクラウドメール送信サービスがありますが、今回は、以下の2つの無料サービスについて記述します。
理由は、SendGridは、Googleが推奨しているから、Mailgunは、私の要求に100%合致したので、
他のサービスについて詳細を調べなかったからです。
SendGrid
Mailgun

MarkerChat管理者 2014-10-04 02:17:51

SendGrid

SendGrid(本家) https://sendgrid.com
SendGrid(日本) https://sendgrid.kke.co.jp
*Googleが利用を推奨している
接続方法:WebAPI( java/php/physon/javascript )
独自ドメインでのメール送信を行う場合、有料
Silver 100,000通/月 9,800円
--->無料の場合、Fromヘッダーを(ユーザー名@独自ドメイン)として送信する事は出来ますが、
  送信元がSendGridになってしまいます。

MarkerChat管理者 2014-10-04 02:20:19

Mailgun

Mailgun http://www.mailgun.com

独自ドメインからメール送信が出来て、10,000通/月で無料
*curlからも可能なので手軽に送信する事も出来ます。

また、メール配信・未達のWebhookも利用でき、 私にとって、理想的であった為、これに決定しました。

MarkerChat管理者 2014-10-05 13:48:11

CakePHPにて、CakeEmailで送信する方法
① 以下URLからPluginをダウンロード
② cakephp/app/Pluginに解凍(配置)
③ cakephp/app/Config/email.phpを編集
④ cakephp/app/Config/bootstrap.phpを編集
以上、あとはCakeEmailとして、利用出来ます。

MarkerChat管理者 2014-10-05 18:21:02

URL

https://github.com/kochb/cakephp-mailgun

MarkerChat管理者 2014-10-05 18:22:43

email.php

 public $mailgun = array(
  'transport' => 'Mailgun.Basic',
  'mailgun_domain' => 'ドメイン名',
  'api_key' => 'mailgunのapi-key'
 );

MarkerChat管理者 2014-10-05 18:24:24

bootstrap.php

CakePlugin::load('Mailgun');

MarkerChat管理者 2014-10-05 18:48:11

メール配信・未達のWebhook

2014-10-05 現在のhttps://github.com/kochb/cakephp-mailgunの場合、
ソースファイルを少し修正しないと、 正しい情報が取得出来ない。

理由は、CakeEmailで送信したメッセージIDとMailgunで実際に送信したメッセージIDが異なるからです。
その為、Mailgunで実際に送信したメッセージIDを取得する為の修正が必要になってきます。

詳細については、CakeEmailを用いてMailgunでメール配達・未達を受け取る方法を参照して下さい。

© markerchat.com 2013-2015