下例の前提事項

  • メールサーバーにするホスト名はqueen.homeとする。
  • 家庭内のサブネットは192.168.1.0/24で、ドメインはhomeとする。
  • メールの保存はmbox形式ではなく、Maildir形式を採用する。

sendmailの停止とpostfixのインストール

# /etc/rc.d/init.d/sendmail stop
# chkconfig sendmail off
# yum -y install postfix

送信メールサーバを切り替える

# alternatives --config mta
↑切替プログラムがあり使用する'mta'を指定します。

選択 コマンド
-----------------------------------------------
*+ 1 /usr/sbin/sendmail.sendmail
   2 /usr/sbin/sendmail.postfix
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
  ↓
選択 コマンド
-----------------------------------------------
*  1 /usr/sbin/sendmail.sendmail
 + 2 /usr/sbin/sendmail.postfix

家庭内のPCからインターネットへメール送信できるようにする(/etc/postfix/main.cfの編集)

  • 変更点1
#myhostname = host.domain.tld
  ↓
myhostname = queen.home
  • 変更点2
#mydomainname = domain.tld
  ↓
#mydomainname = home
  • 変更点3
#myorigin = $mydomain
  ↓
myorigin = $mydomain
  • 変更点4(デフォルトではローカル発信されたメールのみ送信可能だが、
    外部(別ホスト)からのメールもを受け取れるように設定をallへ変更。)
#inet_interfaces = all
  ↓
inet_interfaces = all

inet_interfaces = localhost
  ↓
#inet_interfaces = localhost
  • 変更点5(メールサーバなので$mydomain宛のメールも最終目的地として受け取る必要がある。)
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
  ↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
  • 変更点6(メールリレーを行う(信頼する)送信元をサブネットで指定。つまり家庭内とローカルのみ。)
#mynetworks_style = subnet
  ↓
mynetworks_style = subnet
  • 変更点7(内部ネットワークアドレスとローカルホストアドレスを指定。)
#mynetworks = 168.100.189.0/28, 127.0.0.0/8
  ↓
mynetworks = 192.168.1.0/24, 127.0.0.0/8
  • 変更点8(外部から入ってくるメールでリレーを行う範囲を指定。)
#relay_domains = $mydestination
  ↓
relay_domains = $mydestination
  • 変更点9(MairDir方式を取る)
#home_mailbox = Maildir/
  ↓
home_mailbox = Maildir/
  • 変更点10(メールを保存するディレクトリ指定する)
#mail_spool_directory = /var/spool/mail
  ↓
mail_spool_directory = /var/spool/mail
  • Maildir形式のディレクトリ作成
各ユーザのホームディレクトリに以下のようにMaildir形式のディレクトリを作成する。
$ mkdir -m 700 ~/Maildir
$ mkdir -m 700 ~/Maildir/new 新着メールの保存先
$ mkdir -m 700 ~/Maildir/tmp 一時ファイルの保存先
$ mkdir -m 700 ~/Maildir/cur 既読メールの保存先
※新規ユーザを追加したときに自動的に作成されるように"/etc/skel/"にも同様にディレクトリを
 同様にディレクトリを作成しておくと便利です。
  • 設定の確認点(追加)
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

SMTP認証(587):OB25 対応

sasl_passwd作成

# vim /etc/postfix/sasl_passwd
ファイルの内容は
[送信するSMTPサーバ(例:smtp.gmail.com)]:587 [メールアドレス(例:hogehoge@gmail.com):[パスワード]
※GMailの場合はメールアドレス全てだが、他のプロバイダではアカウント名だけでよい場合もある

sasl_passwdのdb化

# postmap /etc/postfix/sasl_passwd

/etc/postfix/main.cfの編集2

  • 追加点1
relayhost = [送信するSMTPサーバ(例:smtp.gmail.com)]:587
  • 追加点2(送信するSMTPサーバから要求されいてうるAUTHがLOGIN PLAINである場合の例)
###sasl setting
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
smtp_sasl_mechanism_filter = plain
###tls setting
smtp_use_tls = yes

cyrus-sasl-plainパッケージのインストール(まだインストールされていなければ)

# yum install -y cyrus-sasl-plain

postfixの再起動

# /etc/rc.d/init.d/postfix reload

送信メールサーバーの起動と自動起動の設定

# /etc/rc.d/init.d/postfix start
# chkconfig postfix on

sendmailの削除

# yum remove sendmail

参考リンク

最終更新:2009年02月01日 13:58