AWS EC2 smtp Sendmailメールの設定 2021/07/25
[環境/インストール]
EC2からsendmailでメール送信させたい(PHPで送る必要あるため) SESはメール送信用のサービスですが、本格運営のためには「制限解除申請」的なものが必要で、 そのままの状態(Sandbox)では、以下の制限があるようです。 1日200通まで 予め登録したメールにしか送れない(from, toに設定できない) なので、全くメールのやりとりができない ------------------ EC2はデフォルトだと、EC2⇒インターネットの25番ポート宛て通信が制限されており不可となっております EC2からの外部宛てメール送信は不可になります(OUTLOOKなどから) 許可するには別途AWSへ申請を行う必要があります。 ・参考AWSドキュメント Amazon EC2 インスタンスまたは AWS Lambda 関数のポート 25 に対する制限を解除するにはどうすればよいですか? ------------------ PHPからの送信で、outlookでメールを受信できる「お問い合わせ」的なものは下記1.~ の設定になります (注意)送信メールはAmazon workmailや、gmail yahooメールを使って送ることになります 【EC2でメールサーバ構築 Postfix / Dovecot】 ・メールサーバ(SMTPサーバ・POP/IMAPサーバ)を構築する セキュリティグループ > 選択する(EC2)> インバウンドルール > Edit inbound rules ・以下のように、SSHに加え、SMTP、POP3、IMAPのポートが開いていることを確認-------------------- 1.SMTPサーバの構築(Postfix) ・EC2にログインし、postfixをインストール $ sudo su $ yum install postfix ------ ・postfixのメイン設定ファイル(main.cf)編集 $ vi /etc/postfix/main.cf # 自ホスト名 myhostname = mailserver.ryosukeonline.com # 自ドメイン設定 mydomain = ryosukeonline.com # 自ホスト上でローカルメール送信を行う場合、メールアドレスの@以降には自ドメイン名を補完する myorigin = $mydomain # ローカルホスト以外からも通信を受け付ける inet_interfaces = all # メールを取得するドメイン名(メールの宛先ドメインがここで指定した値にマッチした場合、自ホスト宛てとして認識する) mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain # メール中継を許可するSMTPクライアントのアドレス(VPCのネットワークアドレスとローカル通信あたりを指定すればOK) mynetworks = 172.31.0.0/16, 127.0.0.0/8 # Mairdir形式でメールを保存 home_mailbox = Maildir/ -------------------- 2.メール受信用ディレクトリ作成 メールボックスの形式としてMaildir形式(各ユーザのホームディレクトリ以下に1メール1ファイルとして保存する形式) を利用しているため、ユーザ作成時、 ホームディレクトリにメール受信用ディレクトリが自動的に作成されるよう設定します $ mkdir -p /etc/skel/Maildir/{new,cur,tmp} $ chmod -R 700 /etc/skel/Maildir/ メール受信用テストユーザ作成 $ useradd testtest $ passwd testtest $ ls -l /home/testtest/Maildir/ total 0 drwx------. 2 testtest testtest 6 Jul 25 22:15 cur drwx------. 2 testtest testtest 6 Jul 25 22:15 new drwx------. 2 testtest testtest 6 Jul 25 22:15 tmp ・postfix起動 $ systemctl start postfix ・状態がrunnningであること $ systemctl status postfix ・25番ポートが開いていることを確認します。 $ netstat -atn ・自動起動有効化 $ systemctl enable postfix $ systemctl is-enabled postfix -------------------- 3.POP/IMAPサーバの構築(Dovecot) ・Dovecotのインストール $ yum install dovecot ----- ・Dovecotの設定ファイルの編集 メイン設定ファイルdovecot.conf編集 $ vi /etc/dovecot/dovecot.conf IMAPとPOP3を通信プロトコルとして利用する protocols = imap pop3 ----- ・外部からのプレインテキスト通信を許可 IMAPとPOP3はSSL暗号化がされていないため、デフォルトの設定ですと通信が拒否されてしまうようです。 その回避策として実施する必要があります $ vi /etc/dovecot/conf.d/10-auth.conf disable_plaintext_auth = no ----- $ vi /etc/dovecot/conf.d/10-ssl.conf ssl = no ----- ・Dovecot起動 $ systemctl start dovecot $ systemctl status dovecot ・110及び143番ポートが開いていること netstat -atn ・自動起動有効化 $ systemctl enable dovecot $ systemctl is-enabled dovecot -------------------- 4.DNSレコード登録 メールサーバのDNSレコード登録 DNSに登録済みのドメインに、メールサーバのMXレコード及びAレコードを追加(※)します。 ※登録方針 <ドメイン名> in MX 10 <メールサーバ名> <メールサーバ名> in A <メールサーバのグローバルIPアドレス>
・MXレコードの確認 nslookup -type=mx xxxxxxxxxxx.com (中略) xxxxxxxxxxx.com MX preference = 10, mail exchanger = mailserver.xxxxxxxxxxx.com ・Aレコードの確認 nslookup mailserver.xxxxxxxxxxx.com (中略) 名前: mailserver.xxxxxxxxxxx.com Address: xxx.xxx.xxx.xxx -------------------- 5.SMTPサーバの動作チェック ・構築したメールサーバに向けてメールを送信 Outlook等を利用します。gmailなどで送信してみる Windows10 outlookメールでの受信設定 [受信メールサーバ] サーバ名 mailserver.xxxxxxxxxxx.com ユーザ名 testtest ポート 143 [送信メールサーバ] 送信は不可の為適当に入れておく mailserver.xxxxxxxxxxx.com ・メールが届いているかメールサーバ内確認 $ ls -l /home/testtest/Maildir/new/ total 8 -------------------- 6.POP/IMAPサーバの動作チェック telnetなど こちらを参考にしました -------------------- 次へ
AWS EC2の設定
2.AWS EC2 LAMP(php7.1.33) 環境設定
サーバコマンド∟php5.3のインストール(CentOS)
∟mysqlのインストール(CentOS)
∟apacheのインストールと起動(CentOS)
∟apacheのログの確認(CentOS)
レンタルサーバ/VPS
プログラミング∟簡単なAJAXプログラム php js html
∟TinyMCEのインストール 設定 textarea
∟TinyMCEの日本語化インストール
開発フリーソフト∟AptanaStudio3(Windows7)
∟AptanaStudio3日本語化
PHPで画像認証をする
プログラミング∟Android 画像ファイルを描画する
開発フリーソフト∟AptanaStudio3(Windows7)
∟AptanaStudio3日本語化
∟Androidエミュレータのインストール
∟iBBDemo3 iPhone/iPad表示エミュレータ
Android端末ChromeでJavaScriptデバック
Googleウェブマスターツールの登録
Googleアナリティクスの使い方
Google検索結果ページを削除する
Googleトレンド
Google AdWords[キーワードツール]
関連ワードを調べる
急上昇ワードを調べる
colorpicker
colorbox
colorbox[2]
newsticker[1]
newsticker[2]上にスクロール
newsticker[3]左へスクロール
newsticker[4]左へスクロール
Cycle Plugin(+ Easing Plugin)
Coin Slider
スライダー[1]下にサムネイル画像
スライダー[2]右にサムネイル画像
スライダー[3]左右矢印 下にコントロールあり
スライダー[4]左右矢印 下にコントロールなし
スライダー[5]左右矢印 下にコントロールあり(stop付き)
スライダー[6]画像外の左右矢印
スライダー[7]自動切り替え
スライダー[8]自動切り替え
スライダー[9]自動切り替え
css3[transition]
リストとグリッド切り替え表示する[javascript-cssデザイン]
Marquee jQuery[上にスクロール]
DD_belatedPNGの使い方[透過処理PNG]
ナビボタンのロールオーバー[CSS]
ナビボタンのロールオーバー[JS(jQuery)]
ナビボタンのロールオーバー[JS滑らかに切り替わる]
PHPで画像認証をする
広告をブログに張る[クリック課金]∟忍者AdMax
∟グーグルAdSense
レンタルサーバ・VPS情報
ポイントサイト情報
アドネットワーク情報
無料のアクセス解析ツール(オープンソース等)
無料アクセス解析の導入
ブログランキングサイト一覧
sitemap.xmlを作成する
SEO対策 Google AdWords(キーワードツール)
SEO対策 SEOTOOLS
SEO対策 SEOチェキ






--------------------
1.SMTPサーバの構築(Postfix)
・EC2にログインし、postfixをインストール
$ sudo su
$ yum install postfix
------
・postfixのメイン設定ファイル(main.cf)編集
$ vi /etc/postfix/main.cf
# 自ホスト名
myhostname = mailserver.ryosukeonline.com
# 自ドメイン設定
mydomain = ryosukeonline.com
# 自ホスト上でローカルメール送信を行う場合、メールアドレスの@以降には自ドメイン名を補完する
myorigin = $mydomain
# ローカルホスト以外からも通信を受け付ける
inet_interfaces = all
# メールを取得するドメイン名(メールの宛先ドメインがここで指定した値にマッチした場合、自ホスト宛てとして認識する)
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
# メール中継を許可するSMTPクライアントのアドレス(VPCのネットワークアドレスとローカル通信あたりを指定すればOK)
mynetworks = 172.31.0.0/16, 127.0.0.0/8
# Mairdir形式でメールを保存
home_mailbox = Maildir/
--------------------
2.メール受信用ディレクトリ作成
メールボックスの形式としてMaildir形式(各ユーザのホームディレクトリ以下に1メール1ファイルとして保存する形式)
を利用しているため、ユーザ作成時、
ホームディレクトリにメール受信用ディレクトリが自動的に作成されるよう設定します
$ mkdir -p /etc/skel/Maildir/{new,cur,tmp}
$ chmod -R 700 /etc/skel/Maildir/
メール受信用テストユーザ作成
$ useradd testtest
$ passwd testtest
$ ls -l /home/testtest/Maildir/
total 0
drwx------. 2 testtest testtest 6 Jul 25 22:15 cur
drwx------. 2 testtest testtest 6 Jul 25 22:15 new
drwx------. 2 testtest testtest 6 Jul 25 22:15 tmp
・postfix起動
$ systemctl start postfix
・状態がrunnningであること
$ systemctl status postfix
・25番ポートが開いていることを確認します。
$ netstat -atn
・自動起動有効化
$ systemctl enable postfix
$ systemctl is-enabled postfix
--------------------
3.POP/IMAPサーバの構築(Dovecot)
・Dovecotのインストール
$ yum install dovecot
-----
・Dovecotの設定ファイルの編集
メイン設定ファイルdovecot.conf編集
$ vi /etc/dovecot/dovecot.conf
IMAPとPOP3を通信プロトコルとして利用する
protocols = imap pop3
-----
・外部からのプレインテキスト通信を許可
IMAPとPOP3はSSL暗号化がされていないため、デフォルトの設定ですと通信が拒否されてしまうようです。
その回避策として実施する必要があります
$ vi /etc/dovecot/conf.d/10-auth.conf
disable_plaintext_auth = no
-----
$ vi /etc/dovecot/conf.d/10-ssl.conf
ssl = no
-----
・Dovecot起動
$ systemctl start dovecot
$ systemctl status dovecot
・110及び143番ポートが開いていること
netstat -atn
・自動起動有効化
$ systemctl enable dovecot
$ systemctl is-enabled dovecot
--------------------
4.DNSレコード登録
メールサーバのDNSレコード登録
DNSに登録済みのドメインに、メールサーバのMXレコード及びAレコードを追加(※)します。
※登録方針
<ドメイン名> in MX 10 <メールサーバ名>
<メールサーバ名> in A <メールサーバのグローバルIPアドレス>
・MXレコードの確認
nslookup -type=mx xxxxxxxxxxx.com
(中略)
xxxxxxxxxxx.com MX preference = 10, mail exchanger = mailserver.xxxxxxxxxxx.com
・Aレコードの確認
nslookup mailserver.xxxxxxxxxxx.com
(中略)
名前: mailserver.xxxxxxxxxxx.com
Address: xxx.xxx.xxx.xxx
--------------------
5.SMTPサーバの動作チェック
・構築したメールサーバに向けてメールを送信
Outlook等を利用します。gmailなどで送信してみる
Windows10 outlookメールでの受信設定
[受信メールサーバ]
サーバ名 mailserver.xxxxxxxxxxx.com
ユーザ名 testtest
ポート 143
[送信メールサーバ]
送信は不可の為適当に入れておく
mailserver.xxxxxxxxxxx.com
・メールが届いているかメールサーバ内確認
$ ls -l /home/testtest/Maildir/new/
total 8
--------------------
6.POP/IMAPサーバの動作チェック telnetなど