CentOS: postfix — различия между версиями

Материал из OpenWiki
Перейти к: навигация, поиск
Строка 2: Строка 2:
  
 
Postfix &#8212; один из стандартных smtp-серверов (их 3: qmail, exim, postfix) системы *nix, является стандартным почтовым сервером в семействе RedHat. Его главное преимущество &#8212; модульность. Настройка осуществляется редактированием файла <code>/etc/postfix/main.cf</code> (либо командой <code>postconf -e [параметр]</code>, это вносит изменение в тот же файл).
 
Postfix &#8212; один из стандартных smtp-серверов (их 3: qmail, exim, postfix) системы *nix, является стандартным почтовым сервером в семействе RedHat. Его главное преимущество &#8212; модульность. Настройка осуществляется редактированием файла <code>/etc/postfix/main.cf</code> (либо командой <code>postconf -e [параметр]</code>, это вносит изменение в тот же файл).
 +
 +
/etc/postfix/main.cf (минимальные изменения для CentOS):
 +
soft_bounce = no
 +
myhostname = <имя хоста>
 +
mydomain = <имя домена>
 +
myorigin = $mydomain
 +
inet_interfaces = all
 +
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
 +
  mail.$mydomain, www.$mydomain, ftp.$mydomain
 +
mynetworks_style = host
 +
mynetworks = 127.0.0.0/8, [::1]/128
 +
home_mailbox = Maildir/
 +
mail_spool_directory = /var/mail
  
 
/etc/postfix/main.cf:
 
/etc/postfix/main.cf:

Версия 05:18, 15 июля 2013

Статья не готова для активного использования

Postfix — один из стандартных smtp-серверов (их 3: qmail, exim, postfix) системы *nix, является стандартным почтовым сервером в семействе RedHat. Его главное преимущество — модульность. Настройка осуществляется редактированием файла /etc/postfix/main.cf (либо командой postconf -e [параметр], это вносит изменение в тот же файл).

/etc/postfix/main.cf (минимальные изменения для CentOS):

soft_bounce = no
myhostname = <имя хоста>
mydomain = <имя домена>
myorigin = $mydomain
inet_interfaces = all
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
 mail.$mydomain, www.$mydomain, ftp.$mydomain
mynetworks_style = host
mynetworks = 127.0.0.0/8, [::1]/128
home_mailbox = Maildir/
mail_spool_directory = /var/mail

/etc/postfix/main.cf:

#стандартные параметры
queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix

#имя пользователь, под которым работает процесс
mail_owner = postfix

#Настройки уникальные серверы
myhostname = mail.dotty.su
mydomain = dotty.su
myorigin = $mydomain
inet_interfaces = all #$myhostname, localhost
inet_protocols = all  # Enable IPv4, and IPv6 if supported
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
       mail.$mydomain, www.$mydomain, ftp.$mydomain
unknown_local_recipient_reject_code = 550
mynetworks_style = host # Specify "mynetworks_style = host" when Postfix should "trust" only the local machine.
mynetworks = 127.0.0.0/8, [::1]/128

#Важно...
smtpd_recipient_restrictions =  permit_mynetworks,
 permit_sasl_authenticated,
 reject_unauth_destination

alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

home_mailbox = Maildir/
#если нужно доставлять передавать письма LDA:
#mailbox_command = /usr/libexec/dovecot/deliver

smtpd_banner = $myhostname ESMTP $mail_name
debug_peer_level = 2
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/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop
html_directory = no
manpage_directory = /usr/share/man
sample_directory = /usr/share/doc/postfix-2.6.6/samples
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES

#Авторизация если нужно настроить внешнюю авторизацию через dovecot(своей нет)
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes


очень важно разобраться с smtpd_*_restrictions

простые и безопасные настройки

smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
smtpd_relay_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination

рекомендуется добавить greylist, DKIM:

для greylist можно поставить postgrey (yum install postgrey) и дописать в конец smtpd_recipient_restrictions (http://vladimir-stupin.blogspot.ru/2009/09/postfix-postgrey.html):

smtpd_recipient_restrictions = 
...
check_policy_service inet:127.0.0.1:60000

либо другой сокет (у меня "check_policy_service unix:/var/spool/postfix/postgrey/socket") ,а DKIM можно по этой статье