Код: Выделить всё
#
# /usr/local/etc/postfix/main.cf
#
# LOCAL PATHNAME INFORMATION
#
# Указываем месторасположения директории очереди postfix. Также данная
# директория является корнем, когда postfix запускается в chroot окружении.
queue_directory = /var/spool/postfix
# Задает месторасположение всех postXXX команд (postmap, postconf, postdrop)
command_directory = /usr/local/sbin
# Задаем корень конфигурационных файлов, для более "быстрой навигации".
# Например, теперь можно использовать $base/header_checks вместо
# /usr/local/etc/postfix/header_checks. Мелочь, а приятно.
base = /usr/local/etc/postfix
# Задает месторасположение всех программ демонов postfix. Это программы,
# перечисленные в файле master.cf. Владельцем этой директории должен быть root
daemon_directory = /usr/local/libexec/postfix
# QUEUE AND PROCESS OWNERSHIP
#
# Задает владельца очереди postfix, а также большинства демонов postfix.
# В целях безопасности, необходимо использовать выделенную учетную запись.
# Т.е. от данного пользователя не должны запускаться какие-либо процессы
# в системе, а также он не должен являться владельцем каких-либо файлов.
mail_owner = postfix
# Права по умолчанию, использующиеся local delivery agent. Не указывайте
# здесь привилегированного пользователя или владельца postfix.
default_privs = nobody
# INTERNET HOST AND DOMAIN NAMES
#
# Задает имя хоста в формате FQDN. По умолчанию, используется значение,
# возвращаемой функцией gethostname().
myhostname = mail.***.**.ua
# Задает имя нашего домена. По умолчанию используется значение $myhostname
# минус первый компонент.
mydomain = ***.**.ua
# SENDING MAIL
#
# Данный параметр указывает имя домена, которое используется при отправлении
# почты с этой машины. По умолчанию, используется имя локальной машины -
# $myhostname. Для согласованности между адресами отправителя и получателя,
# myorigin также указывает доменное имя, которое добавляется к адресу
# получателя для которого не указана доменная часть.
# myorigin = $myhostname (отправлять письма от: "alex@mail.akko.com.ua")
# myorigin = $mydomain (отправлять письма от: "alex@akko.com.ua")
myorigin = $mydomain
#by GAMER relay
relayhost=91.212.80.1
#end by GAMER
# RECEIVING MAIL
#
# Указывает адреса сетевых интерфейсов, на которых будет принимать почту
# наша почтовая система. По умолчанию используются все активные интерфейсы
# на машине. При изменении этого праметра необходимо перезапустить postfix
inet_interfaces = all
# Данный параметр указывает список доменов, для которых почта будет доставляться
# локально, а не пересылаться на другой хост. Не указывайте здесь виртуальные
# домены, для этого есть специальный параметр virtual_mailbox_domains
mydestination = $myhostname, localhost.$mydomain, localhost
# REJECTING MAIL FOR UNKNOWN LOCAL USERS
#
# Таблица просмотра со всеми именами и адресами локльных получателей.
local_recipient_maps = $virtual_mailbox_maps, $virtual_alias_maps, $alias_maps
# TRUST AND RELAY CONTROL
#
# Данный параметр задает список "доверенных" клиентов, которые обладают
# некоторыми привилегиями. В частности доверенным SMTP клиентам дозволено
# пересылать почту через postfix. Если вы не доверяете никому, то оставьте
# только 127.0.0.0/8
mynetworks = 127.0.0.0/8, 10.205.0.0/16
#mynetworks = 0.0.0.0/0
# ALIAS DATABASE
#
# Данный параметр указывает список алиасов, используемый local delivery agent
# После внесения изменений в данный файл необходимо выполнить команду newaliases
# или postalias /etc/mail/aliases
alias_maps = hash:/etc/mail/aliases
alias_database = hash:/etc/mail/aliases
# JUNK MAIL CONTROLS
#
# The controls listed here are only a very small subset. The file
# SMTPD_ACCESS_README provides an overview.
#header_checks = regexp:$base/header_checks
# SHOW SOFTWARE VERSION OR NOT
#
# Желательно сообщать как можно меньше информации о нашем почтовом сервере.
# Согласно требованиям SMTP протокола вы должны указать $myhostname вначале текста
smtpd_banner = $myhostname ESMTP
# DEBUGGING CONTROL
#
# Задает уровень информативности, когда имя или адрес SMTP клиента
# или сервера соответствует шаблону, заданному в параметре debug_peer_list.
# Следует использовать только во время отладки.
debug_peer_level = 2
debug_peer_list = 127.0.0.1, ***.**.ua
# RESTRICTIONS
#
# client, helo, sender, recipient, data, end-of-data
#
# Требуем, чтобы удаленный SMTP клиент представлял себя
# в начале SMTP сессии с помощью команды HELO или EHLO.
# требуем от отправителя представиться
# (на том, как себя представляет передающий комп,
# основаны многие эффективные проверки "на вшивость"
# автоматических рассылок от зомби и троянов)
smtpd_helo_required = yes
# Всегда отправлять EHLO вначале SMTP сессии
smtp_always_send_ehlo = yes
# ограничения на приветствие отправителя HELO/EHLO
smtpd_helo_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
check_helo_access hash:$base/helo_access,
check_helo_access regexp:$base/helo_regexp,
check_helo_access regexp:$base/dul_checks,
reject_invalid_hostname,
permit
# проверяем, а не является (по признакам ДНС-имен) ли
# динамически-назначаемым IP-адрес хоста-отправителя (определяемого
# по соединению, а не по приветствию или разрешенному ДНС/IP-адресу)
smtpd_client_restrictions =
permit_mynetworks,
check_client_access hash:$base/client_access,
check_client_access regexp:$base/dul_checks,
permit
# ограничения, проверяемые на этапе MAIL FROM:
smtpd_sender_restrictions =
permit_sasl_authenticated,
permit_mynetworks,
check_sender_access regexp:$base/sender_access,
reject_non_fqdn_sender,
reject_unknown_sender_domain,
permit
# ограничения, проверяемые на этапе RCPT TO:
smtpd_recipient_restrictions =
reject_unauth_pipelining,
check_sender_access hash:$base/restricted_senders
permit_sasl_authenticated,
permit_mynetworks,
reject_non_fqdn_recipient,
reject_unknown_recipient_domain,
reject_unlisted_recipient,
check_recipient_access regexp:$base/recipient_access,
reject_unauth_destination,
hash:$base/jabber_recipient,
permit
smtpd_restriction_classes = local_only
local_only = check_recipient_access hash:$base/local_domains,
reject_unauth_destination,
permit
# Дополнительные ограничения, применяемые сервером Postfix
# в контексте SMTP команды DATA. Необходимо применить патч
# для postfixadmin. См. примечание.
smtpd_data_restrictions = reject_unauth_pipelining,
reject_multi_recipient_bounce
# Отклонять команду ETRN
smtpd_etrn_restrictions = reject
# Заставляем отклонять почту с неизвестным адресом отправителя.
# Позволяет бороться с червями и некоторыми вирусами.
smtpd_reject_unlisted_sender = yes
# Отключает SMTP команду VRFY. В результате чего, невозможно определить
# существование определенного ящика. Данная техника (применение команды
# VRFY) используется спамерами для сбора имен почтовых ящиков.
disable_vrfy_command = yes
# Требуем чтобы адреса, передаваемые в SMTP командах MAIL FROM и RCPT TO
# заключались в <>, а также не содержали стилей или фраз RFC 822.
# Oтсекаем криво настроенные почтовые агенты
strict_rfc821_envelopes = yes
# разрешаем дополнительные проверки пока отправитель
# передает RCPT TO: и MAIL FROM: заголовки. Для детализации mail.log
smtpd_delay_reject = yes
# Скрываем отображение имени таблицы получателей в ответе "User unknown"
# yes: User unknown in virtual mailbox table
# no: User unknown
show_user_unknown_table_name = no
# Данный адрес будет использоваться при проверки существования адреса отправителя.
address_verify_sender = <>
# Числовой код ответа SMTP сервера Postfix в случае, когда адрес
# получателя отвергнут ограничением reject_unverified_sender.
unverified_sender_reject_code = 550
# Максимальное количество ошибок, которое может сделать удаленный SMTP клиент.
# При превышение данного числа Postfix разорвет соединение.
smtpd_hard_error_limit = 8
# Интервал времени в течение которого SMTP сервер Postfix должен послать ответ,
# а удаленный SMTP клиент получить запрос
smtpd_timeout = 120s
# Интервал времени, в течение которого SMTP клиент должен послать
# SMTP команду HELO или EHLO и получить ответ сервера.
smtp_helo_timeout = 60s
# Интервал времени, в течение которого SMTP клиент должен послать
# SMTP команду RCPT TO и получить ответ сервера.
smtp_mail_timeout = 60s
# Интервал времени, в течение которого SMTP клиент должен послать
# SMTP команду MAIL FROM и получить ответ сервера.
smtp_rcpt_timeout = 90s
# Включаем поддержку sasl аутентификации
smtpd_sasl_auth_enable = yes
# Имя приложения, используемого для инициализации SASL сервера.
# Данный параметр задает имя конфигурационного файла. Имя smtpd
# будет соответсвовать конфигурационному файлу SASL - smtpd.conf.
smtpd_sasl_application_name = smtpd
# Включает функциональную совместимость с SMTP клиентами, которые
# используют устаревшую версию команды AUTH (RFC 2554),
# например, outlook express 4 и MicroSoft Exchange version 5.0.
broken_sasl_auth_clients = yes
# Отвергаем методы, позволяющие анонимную аутентификацию
smtpd_sasl_security_options = noanonymous
# Optional lookup table with the SASL login names
# that own sender (MAIL FROM) addresses
smtpd_sender_login_maps = mysql:$base/mysqlLookupMaps/sender.conf
# Указываем, где postfix должен брать информацию о транспорте
transport_maps = mysql:$base/mysqlLookupMaps/transport.conf
# Указываем, где postfix должен брать информацию о алиасах
virtual_alias_maps = mysql:$base/mysqlLookupMaps/alias.conf
# Указываем, где postfix должен брать информацию о доменах
virtual_mailbox_domains = mysql:$base/mysqlLookupMaps/domain.conf
# Указываем, где postfix должен брать информацию о почтовых ящиках
virtual_mailbox_maps = mysql:$base/mysqlLookupMaps/mailbox.conf
virtual_mailbox_base = /var/spool/mail
# Настраиваем поддержку квот
virtual_mailbox_limit_maps = mysql:$base/mysqlLookupMaps/quota.conf
virtual_maildir_extended=yes
virtual_mailbox_limit_override=yes
virtual_create_maildirsize = yes
virtual_overquota_bounce = yes
virtual_maildir_limit_message="Sorry, the user's maildir has overdrawn his diskspace quota, please try again later"
# Peresilka e-mail na inshu adresu dlya tih u kogo ne jabber
recipient_bcc_maps = hash:$base/recipient_bcc
# Ограничиваем максимальный размер письма до 35 Мб
#message_size_limit = 5242880
message_size_limit = 35242880
# 1981 - uid и gid пользователя и группы virtual соответственно
virtual_gid_maps = static:1981
virtual_uid_maps = static:1981
virtual_minimum_uid = 1000
#### add
readme_directory = /usr/local/share/doc/postfix
sample_directory = /usr/local/etc/postfix
sendmail_path = /usr/local/sbin/sendmail
html_directory = /usr/local/share/doc/postfix
setgid_group = maildrop
manpage_directory = /usr/local/man
newaliases_path = /usr/local/bin/newaliases
mailq_path = /usr/local/bin/mailq
data_directory = /var/db/postfix