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 -を例に設定。
- DDOのmxレコードを確認、設定
- 指定先はメールを受信するサーバ
- ポート25を開ける
- awsの場合以下を確認
- セキュリティグループ
- firewalldなどのファイヤーウォール
- awsの25ポートの制限
- https://aws.amazon.com/forms/ec2-email-limit-rdns-request
- awsの場合以下を確認
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(ローカル) |
[カテゴリ: OS > Linux]
[カテゴリ: ツール]
[通知用URL]
Tweet
最終更新時間:2023年05月28日 11時08分34秒