トップ 一覧 置換 検索 ヘルプ RSS ログイン

sendmailコマンドのsmtpサーバの設定の変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!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:パスワード

 # chown root:root /etc/postfix/sasl_passwd
 # chmod 600 /etc/postfix/sasl_passwd
 # postmap /etc/postfix/sasl_passwd
/etc/postfix/sasl_passwd.db が作成されたのを確認

!テスト
 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(ローカル)

リレーさせない場合は、mynetworks(外部ドメイン宛メールの許可)はローカルのみ、
,192.168.1.0/24からのリレー許可, mynetworks=127.0.0.0/8 192.168.1.0/24, mydestination(ローカル)


{{category2 OS,Linux}}
{{category2 ツール}}