メールサーバーにはsendmailではなく、Postfixを使います。

旧サーバーではSendmailからPostfixに移行をしましたが、今回は最初からPostfixで動かすのて簡単に設定できます。(簡単というより余計なこと気にしなくていいから分かりやすいってだけだけど)

portsからPostfixをインストールするとデフォルトでサンプルのmain.cfが入りますが、ほとんどデフォルト記述が並んでいるだけなので、renameしてしまって、新たにパラメータを記述します。(長くて見難いから)


■/usr/local/etc/postfix/main.cf

myhostname = domain1
mydomain = domain1.com
mydestination = $myhostname, localhost, localhost.$mydomain, mail.$mydomain, mail.domain2
mynetworks_style = host
mynetworks =.10.1.0.0/24
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mail_spool_directory = /var/spool/mail/
home_mailbox = Maildir/
header_checks = regexp:/usr/local/etc/postfix/header_checks
smtpd_banner = $myhostname ESMTP $mail_name
virtual_alias_domains = domain2
virtual_alias_maps = hash:/etc/vitrual
command_directory = /usr/local/sbin

myhostname(自分のホスト名)は必ず指定します。DNSのエントリーも必要です。

mynetworksはメール送信を許可するIPアドレスです。

mydestinationは自分がメールの最終到着店となる@以下の記述を指定します。->DNS

virtual_alias_domains,virtual_alias_mapはバーチャルドメインを使う場合の指定です。

virtual_alias_domainsでのメールアカウントをどのローカルアカウントに転送するかをvirtual_alias_mapsで指定します。これは自分で作成します。


■/etc/virtualの例

(メールアドレス)  (実アカウント)

info@domain2 d2info
webmaster@domain2 d2webmaster
postmaster@domain2 d2postmaster

☆domain1とdomain2でメールboxを分けなくてもよいアカウントは記述する必要ありません。

後はSMTPとして常駐させればとりあえずOKです。rc.confに以下の記述をします。

■/etc/rc.conf

sendmail_enable="yes"
sendmail_submit_enable="no"
sendmail_outbound_enable="no"
sendmail_msp_queue_enable="no"
sendmail_flags="-bd"
sendmail_pidfile="/var/spool/postfix/pid/master.pid"
sendmail_procname="/usr/local/libexec/postfix/master"
☆基本的にお決まりコースです。「sendmailの代わりにpostfixを使います」と書いてます。


ここまでやったらリブートして、テストをします。

#telnet localhost 25

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 ホスト名 ESMTP Sendmail 8.14.2/8.14.2; Tue, 30 Dec 2008 10:07:43 +0900 (JST)

と返ってくればOKです。