sendmailでメール送受信

個人的には qmail の方がお気に入りなんだけど、とりあえずデフォルトで入っている sendmail も基本的なところくらいは使えるようになってみようという試み。

必要パッケージ & 当環境のバージョン


[sendmail], [m4], [procmail]はデフォルトでインストールされていたので、
[sendmail-cf]のインストール

# rpm -ivh sendmail-cf-8.13.1-3.RHEL4.5.i386.rpm

デフォルトの仕様

外部からの受信を可能にする

設定ファイルバックアップ

# cp /etc/mail/sendmail.cf /etc/mail/sendmail.cf.orig
# cp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.orig

/etc/mail/sendmail.mc を修正 (青色は追加)

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl

以下のコマンドで sendmail.cf を再作成し、sendmail再起動

# m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
# /etc/init.d/sendmail restart

動作テスト

■送信テスト ( /bin/mail )

パターン1

# mail xxxx@xxxx.xxx
Subject: test_mail
(本文)
.
Cc.

パターン2

# echo "本文" | mail -v -s test_mail xxxx@xxxx.xxx

  ※ /var/log/maillog を確認
  ※ デバッグコマンドは # sendmail -d0 < /dev/null
  ※ キューの確認 # mailq / mailq -Ac


■受信テスト

dovecot パッケージインストール

# rpm -ivh dovecot-0.99.11-4.EL4.rpm

/etc/dovecot.conf 設定 (青色は追加)

protocols = imap imaps pop3 pop3s

サービス有効 & 自動起動

# /etc/init.d/dovecot start
# chkconfig dovecot on

試験メール送信

# echo "mail_test" | mail -s "mail_subject" username

POPサーバ接続 (青色部分を入力し、正常に実行されればPOPサーバの動作OK)

# telnet localhost 110


Escape character is '^]'.
+OK dovecot ready.
USER username
+OK
PASS password
+OK Logged in.
STAT
+OK 1 813
TOP 1 99999
+OK
〜メールヘッダ+本文〜
DELE 1
+OK Marked to be deleted.
QUIT
+OK Logging out, messages deleted.
COnnection closed by foreign host.

※ メール内容は /var/spool/mail/username に書かれます