postfix で localhost なアプリからメイル送付な設定
relayhost で済ませてたんですが、それが使えなくなったらしく、自分で送付するようにしてくれ、とインフラ担当な同僚から言い渡されました。ググッてみたら結構簡単に設定できる模様。
基本的には
- main.cf において myhostname に FQDN 設定
- 下の例だと mydomain が設定されてるので、localhost.$myhostname になる模様
- master.cf において smtp なエントリをコメントアウト
ちなみに動作している実機の /etc/postfix/main.cf のコメントアウトされてない行が以下 (mydomain は書き換えてます)。
$ grep ^[^#] /etc/postfix/main.cf command_directory = /usr/sbin daemon_directory = /usr/lib/postfix data_directory = /var/lib/postfix mydomain = fuga.example.com myorigin = $mydomain inet_interfaces = 127.0.0.1 unknown_local_recipient_reject_code = 550 mynetworks = 127.0.0.0/8 smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin ddd $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/sbin/sendmail newaliases_path = /usr/bin/newaliases mailq_path = /usr/bin/mailq setgid_group = postdrop html_directory = no manpage_directory = /usr/share/man sample_directory = /usr/lib/postfix readme_directory = /usr/share/doc/postfix $
実はこれ系の設定ってとても簡単だったんですね。ちなみに動作確認なナニも以下に。
$ sendmail -f hoge@fuga.example.com yamanetoshi@gmail.com From: hoge@fuga.example.com To: yamanetoshi@gmail.com Test . $
これも知らなかった。telnet で無理矢理試験してましたが、このケイスだと telnet 経由では無理なのかな。telnet localhost 22 で大丈夫な気もしますが。