ssmtp導入

標準のyumでは導入できないので、参考のリンク(sSMTP導入手順)の通りソースからコンパイルして導入を行う。

追加モジュールのインストール

# yum install openssl-devel

sid(最新の開発版のリンクは)からソースをダウンロード

(注:安定版のetchのソースではうまくコンパイルできない)
ダウンロード元http://packages.debian.org/source/sid/ssmtp
ダウンロードするファイルは2つ(最新版)
  • ssmtp_2.62.orig.tar.gz
  • ssmtp_2.62-2.2.diff.gz

Sendmailの無効化

# service sendmail stop
# chkconfig sendmail off
# yum remove sendmail

ソースファイルの展開とコンパイル

(注:パッチを当てるのを忘れないでください。)
# gunzip ssmtp_2.62-2.2.diff.gz
# tar zxvf ssmtp_2.62.orig.tar.gz
# cd ssmtp
# patch -p1 < ../ssmtp_2.61-11.1.diff
# ./configure --enable-ssl (※gmailに送信するため587portでssl通信する必要があるためオプションをつける)
# make
# make install
/usr/local/etc/ssmtp/ssmtp.conf に記述される「メール送信元ホスト」と「SMTPポート番号」を対話的に確認されるはずだが、
なぜかエラーになってしまったので、直接ssmtp.confに記述する。

設定ファイル(ssmtp.confとrevaliases)の記述 ※今回はGmailで587ポートでステルス認証を行う例を記述

Gmailのメールアドレスをhogehoge@gmail.com、ログインパスワードをhogepassとして例を記述する

/usr/local/etc/ssmtp/ssmtp.conf

root=hogehoge@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=gmail.com
hostname=gmail.com
AuthUser=hogehoge@gmail.com
AuthPass=hogepass
UseSTARTTLS=YES
FromLineOverride=YES

設定ファイル(revaliases)の記述

/usr/local/etc/ssmtp/revaliases

root:hogehoge@gmail.com:smtp.gmail.com:587
(rootの他にssmtpを使うユーザ):hogehoge@gmail.com:smtp.gmail.com:587

設定が終了したら、シンボリックリンクを張り替える。

# ln -s /usr/local/sbin/ssmtp /usr/sbin/sendmail
実験的に自分の他のアカウントにメールを送ってみて確認を行う。
確認方法は参考リンク(sSMTP導入手順)を参照
例えば、viなどで以下のようなfoo@bar.comにメールを送る(mail.txtのファイルを作成)
To: foo@bar.com
From: hogehoge@gmail.com
Subject: sample

sample test mail
以下のようにサンプルメールを送信してみる。
/usr/sbin/sendmail -t < mail.txt
うまく送受信できた場合は成功


参考リンク

最終更新:2009年02月02日 06:56