メールサーバーを設置する

  • Postfix + Cyrus-imapd を設定します

標準パッケージグループをremove

  • 環境はCentOS5系ですが、あまり深く考えずにインストールすると、sendmailがインストールされるようです。postfix に置き換えるので、一旦まとめてアンインストールします。
# yum groupremove "Mail Server"

必要パッケージをインストール

  • postfix, cyrus-imapdをパッケージからインストールします
# yum install postfix cyrus-imapd cyrus-sasl

/etc/postfix/main.cfを編集

大まかな編集箇所

  • myhostname
  • inet_interfaces
  • mydestination
  • mynetworks
  • relay_domains
  • mailbox_transport = cyrus
  • smtpd_banner
gmail用の追加設定箇所
  • そのままの設定だと、gmailへのリレー拒否され、下記ログが記録されます。

postfix/smtp[30152]: certificate verification failed for smtp.gmail.com: num=21:unable to verify the first certificate relay=smtp.gmail.com[----]:587, delay=2.8, delays=0.24/0.49/1.8/0.19, dsn=5.5.1, status=bounced (host smtp.gmail.com[----] said: 530-5.5.1 Authentication Required. Learn more at 530 5.5.1 http://mail.google.com/support/bin/answer.py?answer=14257 16sm2023148gxk.11 (in reply to MAIL FROM command))

  • /etc/postfix/main.cfを編集します
relayhost = [smtp.gmail.com]:587
smtp_use_tls = yes
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
smtp_sasl_security_options =
smtp_tls_CApath = /etc/pki/tls/certs/ca-bundle.crt


  • /etc/postfix/sasl_passwdを編集します
[smtp.gmail.com]:587 --------@gmail.com:password  gmailアカウントとパスワードを生で記述します ((仕組み詳細を後で調べる))
  • ファイルに権限設定します
  • ファイルをハッシュDB化します sasl_passwd.dbが生成されます
# postmap /etc/postfix/sasl_passwd
プロバイダ用の「Outbound port 25 Blocking(OP25B)」追加設定箇所
  • 契約プロバイダ経由で送信する場合
  • /etc/postfix/main.cfを編集します
relayhost = [smtp.example.com]:25
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
  • /etc/postfix/sasl_passwdを編集します
smtp.example.com ユーザー:パスワード   プロバイダメールアカウントユーザとパスワードを生で記述します
  • ファイルをハッシュDB化します sasl_passwd.dbが生成されます
  1. postmap /etc/postfix/sasl_passwd
  • 設定変更後はpostfixをreload
# /etc/init.d/postfix reload

メールアカウントユーザを作成

# useradd mailuser

メールアカウントユーザを作成

# passwd cyrus                      cyrusユーザのパスワードを設定
# cyradm --user cyrus localhost
IMAP Password:                      上で設定したcyrusユーザのパスワードを入力
tora> cm user.mailuser              mailuserのメールボックスを作成

imapアクセス時のインデックス(?)作成する記述

  • 記述しなくても動作に問題は無さそうですが、/var/log/maillogに下記メッセージがたくさん記録されてしまうので。
SQUAT failed to open index file
SQUAT failed
  • /etc/cyrus.confを編集します

EVENTS {の中に下記を追加記述します

squatter      cmd="squatter -r" at=0200


後で参照

  • セキュリティについて、次のページがとても参考になりそうなので確認する。

http://www.criterion.sc/sub_notes/Postfix_Security.html

facebook slideshare rubygems github qiita