JS

2013년 5월 31일 금요일

Postfix Configuration

postconf -n은 /etc/postfix/main.cf에서 직접 바꾼 설정만 보여준다. 여기에 나오지 않는 것은 기본값을 쓰고 있다는 것이다. 그리고 일부 설정은 리눅스 배포판에서 바꿔서 배포하고 있을 것이다. 아래 코드는 현재 설정된 서버에서 postconf -n 명령의 출력을 적은 것이다. 다만 개인 정보를 담고 있는 부분은 적절히 고쳤다.

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = no
biff = no
config_directory = /etc/postfix
inet_interfaces = all
inet_protocols = ipv4
## mailbox, MDA
home_mailbox = Maildir/
#mailbox_command = procmail -a "$EXTENSION"
## mailbox and message size limit
mailbox_size_limit = 0
message_size_limit = 102400000
## domain settings
mydestination = host.domainname, localhost.domainname, localhost
myhostname = host.domainname
#mynetworks_style = host
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = no
recipient_delimiter = +
relayhost =
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
## Dovecot SASL
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
## TLS
smtpd_tls_cert_file = /etc/ssl/my.pem
smtpd_tls_key_file = /etc/ssl/private/my.key
smtpd_tls_security_level = may
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = yes

필자가 기억하기로 mailbox_command가 기본값(empty)이어도, home_mailbox를 제대로 해두면 동작했던 것 같다. 원한다면 procmail을 쓸 수도 있는데 필자는 procmail에 대해 거의 아는 것이 없다.

여기서 Dovecot SASL은 설정하지 않아도 local에서 mutt 등의 MUA를 이용하면 메일을 보내거나 받는 것이 가능하다. 이 기능을 쓰려면 당연히 dovecot을 설치하고 적절히 설정해야 하는데, 이에 대해서는 별도의 게시물로 작성할 예정이다.

참고로 domainname이 없는 서버에서도 postfix를 사용하는 것이 가능하긴 하다. 그런데 IP 주소를 이용하여 메일을 보내려고 할 때 받는 사람 주소에 "user@127.0.0.1"처럼 적으면 메일이 가지 않을 것이다. 필자는 장기간의 검색을 통해 어렵게 이유를 알아내었는데, 결론은 IP 주소를 적을 때 [127.0.0.1]라고 적어야 한다는 것이다.

그리고 /etc/postfix/master.cf에서는 submission protocol 부분을 uncomment하였다. 이렇게 하면 587번 포트를 사용할 수 있다.

submission inet n       -       -       -       -       smtpd

문제가 있을 경우에는 /var/log/mail 등의 로그 파일을 참고하면 큰 도움이 되며, smtpd_tls_loglevel 등의 옵션을 사용하여 로그 수준을 변경하는 것도 도움이 된다. 그런데 필자가 삽질 다 해보고 최종 결론을 적은 것이라 위에 적힌대로만 하면 아마도 잘 동작할 것 같다.

  1. http://www.postfix.org/SASL_README.html
  2. http://www.postfix.org/TLS_README.html
  3. http://wiki2.dovecot.org/HowTo/PostfixAndDovecotSASL

댓글 없음:

댓글 쓰기