AWS に acmailer と MMDS で作るメール配信システム
今回は、AWS(EC2) から簡単に使えて、尚且つ到達率の高いメール配信システムを作ってみました。
利用するのはインスタンスとしてEC2、メール配信CGIとして無料で使えるメール配信CGI「acmailer」、メールの接続先として、日本の携帯キャリアへの配信も考慮し、当社の配信サービス MMDS を利用します。
aws でアカウントを・・・と言った説明は省略し
既に CentOS-6.x系で、インスタンスが起動している事を前提ですすめます。
acmailer のインストール
先ずは、acmailer のインストールですが
acmailer のサイト から
「今すぐダウンロード」をクリックし、正式版か開発版かどちらかを決めて「ダウンロード」して下さい。
その際の、perlパスは、CentOS系でしたら(標準)のままです。
きっと、install.cgi がダウンロードされたと思います。
このファイルは、インストールするEC2のインスタンスにSCPします。
このあたりの説明は
acmailer│ダウンロード&インストール
を参考にして頂ければ、良いかと思いますが
まずは、apache をインストールして起動します。
#yum install httpd #chkconfig --level=3 httpd on #service httpd start
EC2 Management Console から
Security Group で、Inbound の制限を必要に応じて実施して下さい。
acmailer 専用で構築しようと思いますので
トップディレクトリーからパーミッションを変更します。
#chmod 777 /var/www/html
ここに、install.cgi を配置して
ブラウザーからアクセスします。
http://”Public DNS”/install.cgi
そのままだと、cgi の内容が表示されるだけですので
設定ファイル(/etc/httpd/conf/httpd.conf)を編集して
ドキュメントルートでの、CGI の実行を許可します
ディレクトリー
の下の
331行目あたり
Options Indexes FollowSymLinks
を
Options Indexes FollowSymLinks ExecCGI
#AddHandler cgi-script .cgi
を
AddHandler cgi-script .cgi
に
保存したら、httpd を再起動します
service httpd start
ブラウザーで再度アクセスします。
・・・
無事にインストールが終わりますので、install.cgi は削除して
設定に入ります。
まずは、From アドレスの設定です。
NHN Techorus MMDS for クラウドですが
Fromのアドレスに対してパスワードが発行されます。
このアドレスのドメインパートの、AレコードとMXレコード
そして、TXTレコードとして指定される _spf.ko-sokumail.net が登録されていないと
認証されないらしいので、DNSの設定を行う必要がありました。
acmailer は、SMTP-AUTHに対応しているので
http://"Public DNS"/login.cgi?
でログインし
上部の「各種設定」をクリックし
menu の中の「送信サーバー設定」で
「外部サーバー」を選択し
「認証方法」で「SMTP承認」を選択します
「ホスト名」は、”smtp.ko-sokumail.net” 「ポート」は、”25″
「ユーザ名」「パスワード」は、契約時の物を入力して「更新」します。
早速、「メール配信」を・・・と思ってテストをしても全く届きません。
これは、acmailer が TLS に対応していない為でした。
acmailer のライセンスとして
http://www.acmailer.jp/license/
CGIの改変・カスタマイズも○となっていますので
ちょっとだけ、手を加えてみます。
yum -y install perl-Net-SMTPS
以下もインストールされると思います。
(perl-IO-Socket-SSL) (perl-Socket6) (perl-IO-Socket-INET6) (perl-GSSAPI) (perl-Authen-SASL)
cd /var/www/html/lib
clsMail.pm を編集します
592行目の
my $SMTP = Net::SMTP->new($relay_host,Port=>$relay_port,Debug =>$debug);
を
require Net::SMTPS; my $SMTP = Net::SMTPS->new($relay_host,doSSL=>'starttls',SSL_version=>'TLSv1',Debug =>$debug);
これで、どうでしょう。
無事、送れましたでしょうか?
この後、メール送信制限解除申請をフォームからしておけば安心ですね。
また、acmailerオンラインマニュアルで機能を確認しながら、使ってみましょう。
(当記事は、当社エンジニアブログに掲載されていたものを加筆修正し転載したものです。)
テックブログ新着情報のほか、AWSやGoogle Cloudに関するお役立ち情報を配信中!
Follow @twitterAWSを中心としたクラウドインフラやオンプレミス、ビッグデータ、機械学習などの技術ネタを中心にご紹介します。
Recommends
こちらもおすすめ
-
画像分類の機械学習モデルを作成する(1)ゼロからCNN
2018.4.17
Special Topics
注目記事はこちら
データ分析入門
これから始めるBigQuery基礎知識
2024.02.28
AWSの料金が 10 %割引になる!
『AWSの請求代行リセールサービス』
2024.07.16