下例の前提事項
- メールサーバーにするホスト名は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の編集)
#myhostname = host.domain.tld
↓
myhostname = queen.home
#mydomainname = domain.tld
↓
#mydomainname = home
#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
#home_mailbox = Maildir/
↓
home_mailbox = Maildir/
- 変更点10(メールを保存するディレクトリ指定する)
#mail_spool_directory = /var/spool/mail
↓
mail_spool_directory = /var/spool/mail
各ユーザのホームディレクトリに以下のように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
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