| # yum install postfix |
|
| mail_owner = postfix # ホスト名の設定 myhostname = mail.shitomi.jp # ドメインの無いアドレスに付加する値の設定 myorigin = shitomi.jp # ローカル配送するドメインを指定 mydestination = $myhostname, shitomi.jp, shitomi.net # メール中継が可能なIPアドレスを制限 mynetworks = 192.168.0.0/24, 127.0.0.0/8 # ".domain"情報のないアドレスに文字列 ".$myorigin" を付加しない append_dot_mydomain = no # メールのスプールディレクトリの指定 mail_spool_directory = /var/spool/mail # メールボックスファイルの最大サイズ(単位はbyte。0は無制限) mailbox_size_limit = 51200000 # 送信メールの最大サイズ(単位はbyte。0は無制限) message_size_limit = 10240000 # ヘッダをチェックするファイルの場所を指定 header_checks = regexp:/etc/postfix/header_checks |
| # 中継するSMTPサーバーを指定 relayhost = chuukei.shitomi.jp |
| /^Received:.*192\.168\..*/ IGNORE /^Received:.*127\.0\.0\.1.*/ IGNORE |
| # /etc/init.d/postfix start |
| # /etc/rc.d/init.d/postfix check ←/etc/postfix/main.cfの文法チェック [ OK ] ←このように表示されたら大丈夫 |
| # dig shitomi.jp MX |
| # chkconfig postfix on |
| root: abc, xyz |
| abc: abc@hoge.test.com |
| # postalias /etc/aliases |
| # telnet 192.168.0.1 25 ←telnetコマンドで25番ポートに接続 Trying 192.168.0.1... Connected to 192.168.0.1. Escape character is '^]'. 220 mail.shitomi.jp ESMTP Postfix helo mail.shitomi.jp ←サーバーへ挨拶 250 mail.shitomi.jp mail from:root@shitomi.jp ←メールの送信元 250 Ok rcpt to:xxx@test.test ←メールの送信先(中継拒否) 550 <xxx@test.test>: User unknown in local recipient table rcpt to:root@shitomi.jp ←メールの送信先 250 Ok data ←内容の書き込み開始を宣言 354 End data with <CR><LF>.<CR><LF> subject:test ←表題 abc ←本文 DEF . ←ビリオドで本文の終了 250 Ok: queued as 487582C4037 quit ←メールの送信 221 Bye Connection closed by foreign host. |
SMTP認証(SMTP-AUTH)を,STARTTLS(25番ポート)を使用したpamによるユーザ認証によって,実現します。
| # yum install cyrus-sasl-plain |
| SOCKETDIR=/var/run/saslauthd MECH=pam |
| # /etc/init.d/saslauthd start |
| # chkconfig saslauthd on |
| # testsaslauthd -s smtp -u abc -p [abcの平文パスワード] 0: OK "Success." ←このように表示されたら大丈夫 |
| pwcheck_method: saslauthd mech_list: plain login |
| mail_owner = postfix myhostname = mail.shitomi.jp myorigin = shitomi.jp mydestination = $myhostname, shitomi.jp, shitomi.net mynetworks = 192.168.0.0/24, 127.0.0.0/8 append_dot_mydomain = no mail_spool_directory = /var/spool/mail mailbox_size_limit = 51200000 message_size_limit = 10240000 header_checks = regexp:/etc/postfix/header_checks # TLSは有効 smtpd_use_tls = yes # サーバー証明書 smtpd_tls_cert_file = /etc/pki/tls/certs/server.crt # 秘密鍵 smtpd_tls_key_file = /etc/pki/tls/private/server.key # SMTP認証は有効 smtpd_sasl_auth_enable = yes # SMTP認証のOutlookへの対応 broken_sasl_auth_clients = yes # メールリレー許可の条件(ホワイトリスト方式) smtpd_recipient_restrictions = permit_sasl_authenticated, permit_auth_destination, reject |
| # /etc/init.d/postfix restart |



| mail_owner = postfix myhostname = mail.shitomi.jp myorigin = shitomi.jp mydestination = $myhostname, shitomi.jp, shitomi.net mynetworks = 192.168.0.0/24, 127.0.0.0/8 append_dot_mydomain = no mail_spool_directory = /var/spool/mail mailbox_size_limit = 51200000 message_size_limit = 10240000 header_checks = regexp:/etc/postfix/header_checks smtpd_use_tls = yes smtpd_tls_cert_file = /usr/share/ssl/certs/server.crt smtpd_tls_key_file = /usr/share/ssl/private/server.key smtpd_sasl_auth_enable = yes broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated, permit_auth_destination, reject # メール受信許可の条件(ブラックリスト方式) smtpd_client_restrictions = permit_mynetworks, check_client_access regexp:/etc/postfix/access_client, reject_unknown_client, permit |
| # 許可するアドレス /^61\.115\.197\.9[0-1]$/ OK /^64\.56\.166\.8[0-1]$/ OK /^210\.155\.68\.186$/ OK /^220\.213\.226\.141$/ OK /^210\.174\.207\.38$/ OK /^210\.188\.236\.215$/ OK # 拒否するアドレス /^[^\.]*[0-9][^0-9\.]+[0-9]/ REJECT /^[^\.]*[0-9]{5}/ REJECT /^([^\.]+\.)?[0-9][^\.]*\.[^\.]+\..+\.[a-z]/ REJECT /^[^\.]*[0-9]\.[^\.]*[0-9]-[0-9]/ REJECT /^[^\.]*[0-9]\.[^\.]*[0-9]\.[^\.]+\..+\./ REJECT /^(dhcp|dialup|ppp|adsl)[^\.]*[0-9]/ REJECT |
| # /etc/init.d/postfix reload |