Postfix設定見直し

GT110bのTrusty化作業で、cronepgrecの予約タスクのエラーメールがSMTP送信されずにローカル配送されている事に気付いた。真っ先に疑ったiptablesのフィルタ設定は空っぽだったので、早速Postfixの設定ファイル/etc/postfix/main.cfをチェック。

宛先アドレスがroot@GT110b.bravotouring.comとなってホスト名を含む形になるのが問題なのはわかったが、VPSML110G7と照らし合わせながら試行錯誤して落ち着いた結果が以下の通り。

# See /usr/share/postfix/main.cf.dist for a commented, more complete version
# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
# ホスト名の設定
myhostname = GT110b.bravotouring.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
# ドメインの無いアドレスに付加する値の設定
myorigin = /etc/mailname
# ローカル配送するドメインを指定
mydestination = GT110b.bravotouring.com, localhost.bravotouring.com, , localhost
relayhost =
# メール中継が可能な IP アドレスを制限
mynetworks = 192.168.199.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
# メールボックスファイルの最大サイズ(単位は bye。 0 は無制限)
# mailbox_size_limit = 0
mailbox_size_limit = 51200000
recipient_delimiter = +
inet_interfaces = all

とはいえ、本質的には

GT110b.bravotouring.com

だった/etc/mailname

bravotouring.com

としたのがポイントだったと思われる。

ちなみにメールの送信はいちいちsendmailを叩かなくても、crontab

Edit this file to introduce tasks to be run by cron.

Each task to run has to be defined through a single line

indicating with different fields when the task will be run

and what command to run for the task

To define the time you can provide concrete values for

minute (m), hour (h), day of month (dom), month (mon),

and day of week (dow) or use ‘*’ in these fields (for ‘any’).#

Notice that tasks will be started based on the cron’s system

daemon’s notion of time and timezones.

Output of the crontab jobs (including errors) is sent through

email to the user the crontab file belongs to (unless redirected).

For example, you can run a backup of all your user accounts

at 5 a.m every week with:

0 5 * * 1 tar -zcf /var/backups/home.tgz /home/

For more information see the manual pages of crontab(5) and cron(8)

m h dom mon dow command

*/5 * * * * hostname

としておけばホスト名を記したメールを5分周期で繰り返し送信してくれるので、楽ちんなり。

参照

Ubuntu Wiki https://wiki.ubuntu.com/

The Postfix Home Page http://www.postfix.org/

Postfixのぺーじ- http://www.postfix-jp.info/

Postfix Wiki http://www.postfixwiki.org/

Wikipedia http://ja.wikipedia.org/wiki/