cafemocha7

cafemocha

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の設定

1.AWS EC2の設定をする

2.AWS EC2 LAMP(php7.1.33) 環境設定

3.AWS EC2 LAMP(php7.4) 環境設定

4.AWS EC2 PHPMYADMIN設定

5.AWS EC2 ドメイン(Route53)設定

6.AWS EC2 SSLの設定

7.AWS EC2 HTTPSの設定

8.AWS EC2 smtpメールの設定

9.AWS WORKMAILの設定

10.AWS Simple Email Service(SES)の設定

11.AWS amazon backupの設定






NEWS一覧







linuxサーバ
WEBデザインサーバコマンド
 ∟php5.3のインストール(CentOS)
 ∟mysqlのインストール(CentOS)
 ∟apacheのインストールと起動(CentOS)
 ∟apacheのログの確認(CentOS)
WEBデザインレンタルサーバ/VPS
phpプログラム
WEBデザインプログラミング
 ∟簡単なAJAXプログラム php js html
 ∟TinyMCEのインストール 設定 textarea
 ∟TinyMCEの日本語化インストール
WEBデザイン開発フリーソフト
 ∟AptanaStudio3(Windows7)
 ∟AptanaStudio3日本語化
WEBデザインPHPで画像認証をする
androidプログラム
WEBデザインプログラミング
 ∟Android 画像ファイルを描画する
WEBデザイン開発フリーソフト
 ∟AptanaStudio3(Windows7)
 ∟AptanaStudio3日本語化
 ∟Androidエミュレータのインストール
 ∟iBBDemo3 iPhone/iPad表示エミュレータ
WEBデザインAndroid端末ChromeでJavaScriptデバック
SEO対策・ツール
WEBデザインGoogleウェブマスターツールの登録
WEBデザインGoogleアナリティクスの使い方
WEBデザインGoogle検索結果ページを削除する
WEBデザインGoogleトレンド
WEBデザインGoogle AdWords[キーワードツール]
WEBデザイン関連ワードを調べる
WEBデザイン急上昇ワードを調べる
サンプルプログラム
WEBデザインcolorpicker
WEBデザインcolorbox
WEBデザインcolorbox[2]
WEBデザインnewsticker[1]
WEBデザインnewsticker[2]上にスクロール
WEBデザインnewsticker[3]左へスクロール
WEBデザインnewsticker[4]左へスクロール
WEBデザインCycle Plugin(+ Easing Plugin)
WEBデザインCoin Slider
WEBデザインスライダー[1]下にサムネイル画像
WEBデザインスライダー[2]右にサムネイル画像
WEBデザインスライダー[3]左右矢印 下にコントロールあり
WEBデザインスライダー[4]左右矢印 下にコントロールなし
WEBデザインスライダー[5]左右矢印 下にコントロールあり(stop付き)
WEBデザインスライダー[6]画像外の左右矢印
WEBデザインスライダー[7]自動切り替え
WEBデザインスライダー[8]自動切り替え
WEBデザインスライダー[9]自動切り替え
WEBデザインcss3[transition]
WEBデザインリストとグリッド切り替え表示する[javascript-cssデザイン]
WEBデザインMarquee jQuery[上にスクロール]
WEBデザインDD_belatedPNGの使い方[透過処理PNG]
WEBデザインナビボタンのロールオーバー[CSS]
WEBデザインナビボタンのロールオーバー[JS(jQuery)]
WEBデザインナビボタンのロールオーバー[JS滑らかに切り替わる]
WEBデザインPHPで画像認証をする
その他
WEBデザイン広告をブログに張る[クリック課金]
 ∟忍者AdMax
 ∟グーグルAdSense
WEBデザインレンタルサーバ・VPS情報
WEBデザインポイントサイト情報
WEBデザインアドネットワーク情報
WEBデザイン無料のアクセス解析ツール(オープンソース等)
WEBデザイン無料アクセス解析の導入
WEBデザインブログランキングサイト一覧
WEBデザインsitemap.xmlを作成する
WEBデザインSEO対策 Google AdWords(キーワードツール)
WEBデザインSEO対策 SEOTOOLS
WEBデザインSEO対策 SEOチェキ