!!!MTAの確認 alternatives --config mta で利用するMTAの確認と選択ができる。 選択 コマンド ----------------------------------------------- *+ 1 /usr/sbin/sendmail.sendmail 2 /usr/sbin/sendmail.postfix Enter を押して現在の選択 [+] を保持するか、選択番号を入力します: 「+」が付いているMTAが選択されているもの。 !!!メール送信に外部のSMTPサーバを使う !!gmailのパスワード 2段階承認プロセスで認証を行なっている場合、 smtpやpopを利用した認証を行う手順 +ブラウザgoogleへログイン +アカウント情報の画面を開く +ログインとセキュリティを選択 +googleへのログインを選択 +アプリパスワードを選択 +新しいパスワードを発行 +発行したパスワードをsmtpやpopのパスワードとして設定する !!postfix の場合 !postfix がインストールされていない場合 yum install postfix サービスの起動と自動起動の設定をする systemctl start postfix.service systemctl enable postfix.service とか !認証なしの場合(ocnとか) vi /etc/postfix/main.cf myhostname = xxx.ddo.jp relayhost = [xxx.ocn.ne.jp] !テスト sendmail hogehoge@aa.bb.cc test . !SASL認証の場合(gmail)とか http://www.uetyi.mydns.jp/wordpress/postfix-setting/entry-456.html http://memo.xight.org/2009-05-24-3 sasl pain 認証を使うので cyrus-sasl-plain が必要。なければ yum install cyrus-sasl-plain vi /etc/postfix/main.cf relayhost = [smtp.gmail.com]:587 smtp_use_tls = yes smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_tls_security_options = noanonymous smtp_sasl_mechanism_filter = plain smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt 証明書(/etc/pki/tls/certs/ca-bundle.crt)のパスはディストリビューションにより異なることがある。 認証するためのユーザとパスワードを設定 vi /etc/postfix/sasl_passwd [smtp.gmail.com]:587 foo@gmail.com:パスワード ※パスワードはgoogleの2段階認証設定後のアプリパスワードを指定する # chown root:root /etc/postfix/sasl_passwd # chmod 600 /etc/postfix/sasl_passwd # postmap /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db が作成されたのを確認 !aws sesの場合 https://dev.classmethod.jp/articles/sendmail-from-ses-smtpendpoint/ !テスト sendmail hogehoge@aa.bb.cc test . 送れない場合は、 google が怪しいアクセスとみなしている可能性がある。 https://accounts.google.com/DisplayUnlockCaptcha へアクセスし、怪しくないことを伝える。 !!sendmail の場合 http://www.sios.com/product/rhel/usersite/faq/faq3-98.html http://d.hatena.ne.jp/adsaria/20080331/1207021853 !設定ファイルの変更 /etc/mail/submit.mc を編集する FEATURE(`msp', `[127.0.0.1]')dnl を FEATURE(`msp', `[192.168.1.1]')dnl などのように編集。192.168.1.1 は外部のメールサーバ。 !submit.mc ファイル を submit.cf に変換 sendmail-cf パッケージが必要なので、もしなければ yum install sendmail-cf でインストール。 # make -C /etc/mail で、submit.cfを作成する !sendmailサービスを再起動 /etc/init.d/sendmail restart !!!外部からのメールを受信する !!必要なもの ドメイン名 25ポートの使用許可 DNSにmxレコードを指定する環境 !!準備 [Dynamic DO!.jp - ダイナミックDNS -|https://ddo.jp/]を例に設定。 +DDOのmxレコードを確認、設定 ++指定先はメールを受信するサーバ +ポート25を開ける ++awsの場合以下を確認 +++セキュリティグループ +++firewalldなどのファイヤーウォール +++awsの25ポートの制限 +++https://aws.amazon.com/forms/ec2-email-limit-rdns-request !!postfixの場合 !設定 myhostname = xxx.ddo.jp mydomain = xxx.ddo.jp myorigin = $mydomain inet_interfaces = all !!!リレーサーバとして動作させる設定 !!注意 設定を間違えたりするとスパムメールの踏み台にされるので注意。 最悪の場合、メールサーバがブラックリストとして登録されて受信拒否される。 !!postfixの場合 mynetworksとrelay_domainsの設定でリレーの設定をする。 :mynetworks:指定されたホストからのメールを受信すると、宛先がmydestinationで指定されたもの以外の場合、DNSサーバを使用して宛先の名前解決を行い、自分自身以外のMTAへの転送を行います。 :relay_domains:mynetworksで設定されていないMTAから届いたメールをリレーするドメインを指定する。 イメージ的にmynetworksはリレー元の設定、relady_domainsはリレー先の設定。 ,設定,mynetworks,relay_domains ,デフォルト(リレーなし), ローカル, mydestination(ローカル) ,192.168.1.0/24からのリレー許可, mynetworks=127.0.0.0/8 192.168.1.0/24, mydestination(ローカル) {{category2 OS,Linux}} {{category2 ツール}}