アトム-サイト
[ アトム-サイト ] - 管理人さんのページです。
feed-icon RSS2.0   feed-icon Atom
[ Linux ] 一覧へ
SMTP
管理人さんのブログ 2016-04-06 12:03:21

CentOSを使っているのですが、標準のSMTPは『sendmail』ですね。
# yum list installed | grep sendmail
sendmail.x86_64 8.13.8-2.el5 installed
sendmail-cf.x86_64 8.13.8-2.el5 installed
# yum list installed | grep postfix
(何も出ません)

セキュリティ&設定の面で有利なので、『sendmail』から『postfix』へ切り替えてみましょう。

『sendmail』サービス停止
# /etc/init.d/sendmail stop
sm-client を停止中: [OK]
sendmail を停止中: [OK]
スタートさせない設定にしておきます。
# chkconfig sendmail off
# chkconfig --list | grep send
sendmail 0:off 1:off 2:off 3:off 4:off 5:off 6:off

『postfix』インストール
# yum install postfix
/etc/postfix に色々ファイルが入っているのが確認できます。

『sendmail』から『postfix』への切り替え
普段使うメールサーバを『sendmail』から『postfix』への切り替えます。
# alternatives --config mta
2 プログラムがあり 'mta' を提供します。
選択 コマンド
-------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
2 /usr/sbin/sendmail.postfix
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2

『postfix』に切り替わったか確認
# alternatives --config mta
2 プログラムがあり 'mta' を提供します。
選択 コマンド
-------------------------------------------
* 1 /usr/sbin/sendmail.sendmail
+ 2 /usr/sbin/sendmail.postfix
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:
[+]がpostfix側に移動しているのが確認できます。

設定ファイルの編集
main.cfを編集します。
項目的には
『inet_interfacesをallにする』
『mydomainを記載』
『mydestinationに受け入れるドメイン追加』
『mynetworksは許可するSMTPクライアント』
ですね。
編集結果は以下参照。
inet_interfaces = all
mydomain = e-onlineservice.com
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
mynetworks = 192.168.1.0/24, 127.0.0.0/8
『mynetworks』『mydestination』の指定以外からはメール中継しないので、これで不正中継は防げています(後は、送信時のSMTP-Authで認証させればスパム対策はOKです:後述)。

後は、POPサーバ設定と同じ様に、Maildir形式にする設定等をする必要があります(main.cf を編集)。
#home_mailbox = Mailbox
home_mailbox = Maildir/
※コメントの#を外す。
で、受信容量を100Mにする記載追加。
mailbox_size_limit = 100000000
message_size_limit = 100000000

『postfix』の起動
# /etc/init.d/postfix start
postfix を起動中:[OK]
# chkconfig postfix on
# chkconfig --list postfix
postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off

メールアカウントを追加した場合は、
/etc/postfix/virtual ファイルに対応を書き、
# postmap virtual
を実行。

ポートを空ける
smtp用のポート(25番)を開きます。
#iptables -I INPUT -p tcp --dport 25 -j ACCEPT
#/etc/rc.d/init.d/iptables save
#/etc/rc.d/init.d/iptables restart

メールが届いたかどうかは、ユーザのホームディレクトリにMaildirができたかどうかでわかります(初メールが届くとMaildirフォルダができます)。

『sendmail』のアンインストール
# yum remove sendmail

SMTP-Auth
それから、前述のスパムメール対策をする必要があります(SMTP-Authですね)。
まずは、ポート番号(通常25番)に587番も追加。
/etc/postfix/master.cf
を編集。
smtp inet n - n - - smtpd
submission inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_client_restrictions=permit_sasl_authenticated,reject
と、submissionの方を有効にしたら、postfix reload 。
『smtpd_sasl_auth_enable』『permit_sasl_authenticated』で、SMTP-Authも有効になってます。

認証サービスをスタート。
# /etc/init.d/saslauthd start
初期状態もONにしておきます。
# chkconfig saslauthd on

サーバ準備が出来たので、メールクライアントで送信できるかチェックします。
[ツール]-[アカウント]-[プロパティ]の変更2箇所。
『サーバー』に、送信メールサーバーの『このサーバーは認証が必要』があるので、チェック。
Linux SMTP (.png)
『詳細設定』に、ポート番号設定があるので、『25』から『587』に変更。
Linux SMTP (.png)
これで送信できれば、OKです。

…が、実はココまでだと、外部から繋げた場合のメール送信が出来ません(ローカル内からの送信は出来ます)。
結局、main.cf の mynetworks 外からは、弾かれるという事です(『554.5.7.1 Relay access denied』というエラーメッセージが出ます)。
外部から繋げてのメール送信が出来ないなんて、『OP25B』の為にSMTP-Authを用意した意味が無いですよね。
この解決は、同じmain.cf内に、SMTP-Authの記述をしてあげるとOKです。
=====
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
=====
postfix を reload して、送信できるかチェックしましょう。

複数ドメイン
いくつかのドメインを、一つのpostfixサーバーで受け取れる設定です。

main.cfファイル内に、下記を1行追加します。
virtual_alias_maps = hash:/etc/postfix/virtual
※myhostname、mydomain、mydestination等に追加ドメインを記述する必要はありません。

virtualファイルは以下
first.com anything
info@first.com info
hogehoge@first.com hoge
second.com anything
info@second.com info
※info@first.comもinfo@second.comも、infoユーザが受けるという設定(もちろん、他の転送設定にもできます)。
info2@second.com trance@test.com,trance@test2.com
※こんな書き方をすれば、単純に転送になります。
最後に、変更を反映させて終わりです。
# postmap /etc/postfix/virtual

 月間ページ閲覧者数:11人

[ Linux ] 一覧へ


<< 2017年12月
2017年12月14日(木)
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

 最近の書き込み

SMTP
  <2016-04-06 12:03:21>
S.M.A.R.T.
  <2015-05-07 08:03:36>
POP
  <2015-04-21 11:33:37>
Linuxコマンド
  <2015-04-21 11:03:04>
アルバートオデッセイ
  <2014-08-04 23:12:12>
トイレ
  <2014-01-31 08:58:16>
(*)調光スイッチ
  <2013-09-30 10:46:11>
(*)調光スイッチ
  <2013-09-20 01:26:34>
(*)調光スイッチ
  <2013-09-17 12:21:11>
(*)調光スイッチ
  <2013-09-15 20:13:59>


 カテゴリー

おでかけ(83)
サッカー(45)
旅(45)
DIY(43)
食べ物(39)
映画(36)
家(35)
季節(34)
健康(32)
地元(29)
本(29)
家族(29)
モバイル(23)
生物(23)
学校(22)
家電(21)
ドラマ(21)
風景(18)
Web(18)
PCハード(17)
通勤(16)
ゲーム(16)
Winアプリ(15)
ブログ(14)
Linux(13)
 ・ SMTP
 ・ S.M.A.R.T.
 ・ POP
 ・ Linuxコマンド
 ・ HDD不調
 ・ ネットコマンド
 ・ WebサーバのSSL化
 ・ IP aliasingとバーチャルホスト
 ・ Turbolinux 10 Server
 ・ SUSE アクティベーションコード
 ・ パーティション削除
 ・ logrotate
 ・ crontab
飲み物(13)
自転車(13)
ゴルフ(11)
ブラウザ(11)
ネットワーク(10)
javascript(10)
足技(9)
php(9)
会社(8)
感銘映像(8)
税金(6)
空想(5)
VMware(5)
Ruby(4)
データベース(3)
perl(1)