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チェキ