cronやシステム管理メールを自分のメールアドレスへ転送する方法をよく忘れてしまうので
メモをとっておきます。
SL6をほぼ最小構成にてインストールした場合、mailコマンドが入っていない場合があるようです。
そこでまずはメールを送信できる状態にします。
yum install mailx cyrus-sasl cyrus-sasl-plain cyrus-sasl-lib
SL6のメールコマンドはmailxパッケージを使用するようです。実態はmailxにシンボリックリンクが張られています。
ls -al /bin/ | grep mail
lrwxrwxrwx 1 root root 5 11月 9 08:45 2011 mail -> mailx
-rwxr-xr-x 1 root root 370K 11月 24 03:53 2010 mailx
また、cyrus-saslパッケージはメール転送時のSMTP認証に使用するので同時にインストールしておきました。
そしてCentOS5系からの違いとしてMTAがpostfixになっているようですので、postfixの設定を変更していきます。
まずは転送先の設定から。
cd /etc/postfix
vi authinfo
<~>を各自の情報で書き換えます。
[<メールサーバアドレス>]:587 <ユーザ名(hoge@examples.com)>:<パスワード>
認証情報を書いた後はDB化を行っておきます。
postmap authinfo
postfixの設定ファイルを書き換えてローカルのメールをさくらのメールボックスへ転送するようにします。
vi main.cf
myhostname = <ホスト名>
mydomain = <ドメイン名>
myorigin = $myhostname
mydestination = $myhostname, localhost.localdomain, localhost.$mydomain, localhost
relayhost = [<メールサーバアドレス>]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = CRAM-MD5 DIGEST-MD5 LOGIN PLAIN
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt
設定が終わったらpostfixに設定を再読込させます。
service postfix reload
次にローカルのメールを個人のメールアドレスに転送する為にaliasesを編集します。
自分のサーバではrootを個人アカウントに転送した後、個人のメールアドレスに転送させています。
vi /etc/aliases
root: <ユーザ名>
<ユーザ名>: <転送先メールアドレス>
編集が終わったら適応させるためにnewaliasコマンドを発行しておきます。
newaliases
最後にテストとしてメールを送信させて、受信できることを確認します。
echo test | mail root
echo test | mail <ユーザ名>