はじめに
私自身はDebianで長らくqmailをインストールしたままで使っていました。とは言っても、MTAとして使うのはcron用途だけでしたので smtp server を立てるのも大げさです。そこでserverを立てるのを止めて、clientで外部のsmtpを経由してcronのメールを受け取ることにします。smtp client としては msmtpに乗り換えます。
目次
msmtp, msmtp-mtaのインストール
cron はlocalのMTAを想定しいますので、sendmail を msmtpのシンボリックリンクにする必要があります。
しかし、Debian の msmtp パッケージをインストールしただけでは sendmail コマンドへのシンボリックリンクが設定されません。Debianでは、msmtpとは別にある msmtp-mta パッケージをインストールすることで、このシンボリックリンクを作成してくれます。ですので、これらを両方インストールします。
msmtpの設定
~/.msmtprc
# Set default values for all following accounts. defaults # tls on # tls_trust_file /etc/ssl/certs/ca-certificates.crt aliases ~/.aliases logfile ~/.msmtp.log # The SMTP server of the provider. account provider host mail.provider.ne.jp from your_name@mail.provider.ne.jp auth on port 587 user your_account passwordeval gpg -d ~/.msmtp.password.gpg # Set a default account account default : provider
~/.aliases
myname: myname@mail.provider.ne.jp
system wideな設定も同様にします:
/etc/msmtprc
上記の .msmtprc の aliasesの箇所を/etc/aliasesに変えました。
/etc/aliases
以下のようにしました:
myname: myname@mail.provider.ne.jp root: myname@mail.provider.ne.jp defaults: myname@mail.provider.ne.jp
qmail の serviceを削除
Debianの場合、insservを使ってserviceの追加・削除を行います。まず現在のqmail関係のserviceを確認します。
> sudo ls -l /etc/rc*.d/*qmail* lrwxrwxrwx 1 root root 15 Jun 7 21:09 /etc/rc0.d/K01qmail -> ../init.d/qmail* lrwxrwxrwx 1 root root 15 Jun 7 21:09 /etc/rc1.d/K01qmail -> ../init.d/qmail* lrwxrwxrwx 1 root root 15 Oct 14 2013 /etc/rc2.d/S20qmail -> ../init.d/qmail* lrwxrwxrwx 1 root root 15 Oct 14 2013 /etc/rc3.d/S20qmail -> ../init.d/qmail* lrwxrwxrwx 1 root root 15 Oct 14 2013 /etc/rc4.d/S20qmail -> ../init.d/qmail* lrwxrwxrwx 1 root root 15 Oct 14 2013 /etc/rc5.d/S20qmail -> ../init.d/qmail* lrwxrwxrwx 1 root root 15 Jun 7 21:09 /etc/rc6.d/K01qmail -> ../init.d/qmail*
次に、serviceを削除します:
> sudo insserv -r qmail
qmail関係のserviceが削除されたかを確認します。
> sudo ls -l /etc/rc*.d/*qmail* ls: cannot access /etc/rc*.d/*qmail*: No such file or directory