debian postfix + dovecot

BIND

・MXレコードの設定(自分の環境に合わせて適当に設定)

# vim hirohiro.net.zone
mail			IN	A	192.168.0.108
hirohiro.net	IN	MX	10	mail.hirohiro.net.

postfix

・インストール

# apt-get install postfix-tls
※sasl対応やTLS対応を見越して、TLS版を入れる。

・main.cf の設定

# cp /usr/share/postfix/main.cf.dist /etc/postfix/main.cf
# vim /etc/postfix/main.cf
command_directory = /usr/sbin
daemon_directory = /usr/lib/postfix
data_directory = /var/lib/postfix

myhostname = mail.hirohiro.net
mydomain = hirohiro.net
myorigin = $mydomain

inet_interfaces = all

mydestination = 
		$myhostname, 
		localhost.$mydomain, 
		localhost, 
		$mydomain

unknown_local_recipient_reject_code = 550
mynetworks = 192.168.0.0/24, 127.0.0.0/8
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP $mail_name (@@DISTRO@@)

relay_domains = $mydestination

debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5

sendmail_path = /usr/sbin/postfix
newaliases_path = /usr/bin/newaliases
mailq_path = /usr/bin/mailq
setgid_group = postdrop

message_size_limit = 10485760


・aliases.db の作成

# newaliases
※/etc/aliases を元に /etc/aliases.db が作成される。postfixの動作に必要。

・起動

# /etc/init.d/postfix start

dovecot

・インストール

# apt-get install dovecot-common dovecot-pop3d dovecot-imapd

・設定

# vim /etc/dovecot/dovecot.conf
protocols = imap pop3
disable_plaintext_auth = no 

log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:~/Maildir

mail_privileged_group = mail

protocol imap {
}
  
protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
}

protocol managesieve {
}

auth default {
  mechanisms = plain

  passdb pam {
  }

  userdb passwd {
  }

  user = root
}

dict {
}

plugin {
}

・起動

# /etc/init.d/dovecot start

動作確認

telnet でメールを飛ばす

# telnet localhost 25
	Trying 127.0.0.1...
	Connected to localhost.
	Escape character is '^]'.
	220 mail.hirohiro.net ESMTP Postfix (@@DISTRO@@)
HELO localhost
	250 mail.hirohiro.net
MAIL FROM:test@test.com
	250 2.1.0 Ok
RCPT TO:hiro@mail.hirohiro.net
	250 2.1.5 Ok
DATA
	354 End data with <CR><LF>.<CR><LF>
hogehoge
.
	250 2.0.0 Ok: queued as 07F6C4634C
quit
	221 2.0.0 Bye
	Connection closed by foreign host.

・キューの確認

# mailq

・キューの削除

# postsuper -d "キューID"
  or
# postsuper -d ALL

・キューの場所

# /var/spool/postfix/