mailコマンドとメール送信時の送信元(ドメイン)の設定
サーバでSSHで操作をしていると、
You have new mail in /var/spool/mail/root
と表示されるのが嫌だったので調べたメモ。
環境:CentOS 5(Linux)
まず表示される原因は見たまんまメールが来ているからで、cronとかで短い間隔でバッチを実行してメール送信している設定にしていると、ちょくちょく表示されるし、無駄にディスク容量を食うので無駄。
これの設定は/etc/crontabを編集
MAILTO=""
にする。
受信したメールを読むのはmailコマンドを使う。
# mail
「help」と打つと使えるコマンドが分かる。最初から読むのは1と打ってenterを押していけば次々に読める。mailコマンドについてはこのサイトを参考に。
めんどくさいときは
& d *
で全て削除される。
& q
でsaveして終了。
最後にメール送信時にfromに設定されるドメインのデフォルト値はサーバの設定情報が使われる。これは
/etc/sysconfig/network
にあるHOSTNAMEを使っているみたい。
設定するにはsystem-config-networkコマンドを使う。参考
sendmailの設定も忘れずに。参考
<2009/8/24 追記>
HOSTNAMEを使うのはsendmailの場合。
postfixを使っている場合はmyoriginで設定した値がfromになる。
どちらを使っているかは/usr/sbin/sendmailの実態を参照すると分かる。
# ll /usr/sbin/sendmail
lrwxrwxrwx 1 root root 21 8月 11 10:53 /usr/sbin/sendmail -> /etc/alternatives/mta
# ll /etc/alternatives/mta
lrwxrwxrwx 1 root root 27 8月 23 11:02 /etc/alternatives/mta -> /usr/sbin/sendmail.sendmail
postfixを使う場合は/etc/alternatives/mtaを切り替える。方法はネットで検索すると出てくるので、そちらを参考に。
< 2013/03/20 Modified >
sendmailかpostfixを使っているかはalternativesで確認できる。
# alternatives –display mta
設定変更する場合は
# alternatives –config mta
postfixの設定例
# vi /etc/postfix/main.cf
myhostname = hoge.com
mydomain = hoge.com
myorigin = $mydomain
mydestination = localhost.$mydomain, localhost
myhostnameで逆引きできないとメール配送を拒否されることが多いので注意。