Postfix отправка почты. Postfix: настройка, установка. Почтовый сервер Postfix. Форвардинг почты

Postfix is the default Mail Transfer Agent (MTA) in Ubuntu. It attempts to be fast and easy to administer and secure. It is compatible with the MTA sendmail . This section explains how to install and configure postfix . It also explains how to set it up as an SMTP server using a secure connection (for sending emails securely).

Installation

To install postfix run the following command:

sudo apt install postfix

Simply press return when the installation process asks questions, the configuration will be done in greater detail in the next stage.

Basic Configuration

To configure postfix , run the following command:

sudo dpkg-reconfigure postfix

The user interface will be displayed. On each screen, select the following values:

  • mail.example.com

    mail.example.com, localhost.localdomain, localhost

    127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24

Replace mail.example.com with the domain for which you"ll accept email, 192.168.0.0/24 with the actual network and class range of your mail server, and steve with the appropriate username.

Now is a good time to decide which mailbox format you want to use. By default Postfix will use mbox for the mailbox format. Rather than editing the configuration file directly, you can use the postconf command to configure all postfix parameters. The configuration parameters will be stored in /etc/postfix/main.cf file. Later if you wish to re-configure a particular parameter, you can either run the command or change it manually in the file.

To configure the mailbox format for Maildir:

sudo postconf -e "home_mailbox = Maildir/"

This will place new mail in /home/username /Maildir so you will need to configure your Mail Delivery Agent (MDA) to use the same path.

SMTP Authentication

SMTP-AUTH allows a client to identify itself through an authentication mechanism (SASL). Transport Layer Security (TLS) should be used to encrypt the authentication process. Once authenticated the SMTP server will allow the client to relay mail.

    Configure Postfix for SMTP-AUTH using SASL (Dovecot SASL):

    sudo postconf -e "smtpd_sasl_type = dovecot" sudo postconf -e "smtpd_sasl_path = private/auth" sudo postconf -e "smtpd_sasl_local_domain =" sudo postconf -e "smtpd_sasl_security_options = noanonymous" sudo postconf -e "broken_sasl_auth_clients = yes" sudo postconf -e "smtpd_sasl_auth_enable = yes" sudo postconf -e "smtpd_recipient_restrictions = \ permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination"

    The smtpd_sasl_path configuration is a path relative to the Postfix queue directory.

    Next, generate or obtain a digital certificate for TLS. See Certificates for details. This example also uses a Certificate Authority (CA). For information on generating a CA certificate see Certification Authority .

    MUAs connecting to your mail server via TLS will need to recognize the certificate used for TLS. This can either be done using a certificate from a commercial CA or with a self-signed certificate that users manually install/accept. For MTA to MTA TLS certficates are never validated without advance agreement from the affected organizations. For MTA to MTA TLS, unless local policy requires it, there is no reason not to use a self-signed certificate. Refer to Creating a Self-Signed Certificate for more details.

    Once you have a certificate, configure Postfix to provide TLS encryption for both incoming and outgoing mail:

    sudo postconf -e "smtp_tls_security_level = may" sudo postconf -e "smtpd_tls_security_level = may" sudo postconf -e "smtp_tls_note_starttls_offer = yes" sudo postconf -e "smtpd_tls_key_file = /etc/ssl/private/server.key" sudo postconf -e "smtpd_tls_cert_file = /etc/ssl/certs/server.crt" sudo postconf -e "smtpd_tls_loglevel = 1" sudo postconf -e "smtpd_tls_received_header = yes" sudo postconf -e "myhostname = mail.example.com"

    If you are using your own Certificate Authority to sign the certificate enter:

    sudo postconf -e "smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem"

After running all the commands, Postfix is configured for SMTP-AUTH and a self-signed certificate has been created for TLS encryption.

Now, the file /etc/postfix/main.cf should look like this:

# See /usr/share/postfix/main.cf.dist for a commented, more complete # version smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) biff = no # appending .domain is the MUA"s job. append_dot_mydomain = no # Uncomment the next line to generate "delayed mail" warnings #delay_warning_time = 4h myhostname = server1.example.com alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases myorigin = /etc/mailname mydestination = server1.example.com, localhost.example.com, localhost relayhost = mynetworks = 127.0.0.0/8 mailbox_command = procmail -a "$EXTENSION" mailbox_size_limit = 0 recipient_delimiter = + inet_interfaces = all smtpd_sasl_local_domain = smtpd_sasl_auth_enable = yes smtpd_sasl_security_options = noanonymous broken_sasl_auth_clients = yes smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject _unauth_destination smtpd_tls_auth_only = no smtp_tls_security_level = may smtpd_tls_security_level = may smtp_tls_note_starttls_offer = yes smtpd_tls_key_file = /etc/ssl/private/smtpd.key smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom

The postfix initial configuration is complete. Run the following command to restart the postfix daemon:

Postfix supports SMTP-AUTH as defined in RFC2554 . It is based on SASL . However it is still necessary to set up SASL authentication before you can use SMTP-AUTH.

Configuring SASL

Postfix supports two SASL implementations Cyrus SASL and Dovecot SASL. To enable Dovecot SASL the dovecot-core package will need to be installed. From a terminal prompt enter the following:

sudo apt install dovecot-core

Next you will need to edit /etc/dovecot/conf.d/10-master.conf . Change the following:

service auth { # auth_socket_path points to this userdb socket by default. It"s typically # used by dovecot-lda, doveadm, possibly imap process, etc. Its default # permissions make it readable only by root, but you may need to relax these # permissions. Users that have access to this socket are able to get a list # of all usernames and get results of everyone"s userdb lookups. unix_listener auth-userdb { #mode = 0600 #user = #group = } # Postfix smtp-auth unix_listener /var/spool/postfix/private/auth { mode = 0660 user = postfix group = postfix }

In order to let Outlook clients use SMTP-AUTH, in the authentication mechanisms section of /etc/dovecot/conf.d/10-auth.conf change this line:

auth_mechanisms = plain

auth_mechanisms = plain login

Once you have Dovecot configured restart it with:

sudo systemctl restart dovecot.service

Mail-Stack Delivery

Another option for configuring Postfix for SMTP-AUTH is using the mail-stack-delivery package (previously packaged as dovecot-postfix). This package will install Dovecot and configure Postfix to use it for both SASL authentication and as a Mail Delivery Agent (MDA).

You may or may not want to run IMAP, IMAPS, POP3, or POP3S on your mail server. For example, if you are configuring your server to be a mail gateway, spam/virus filter, etc. If this is the case it may be easier to use the above commands to configure Postfix for SMTP-AUTH than using mail-stack-delivery .

To install the package, from a terminal prompt enter:

sudo apt install mail-stack-delivery

You should now have a working mail server, but there are a few options that you may wish to further customize. For example, the package uses the certificate and key from the ssl-cert (self signed) package, and in a production environment you should use a certificate and key generated for the host. See Certificates for more details.

Once you have a customized certificate and key for the host, change the following options for postfix in /etc/postfix/main.cf to match your new keys:

smtpd_tls_cert_file = #yourcertfile# smtpd_tls_key_file = #yourkeyfile#

And for Dovecot in /etc/dovecot/conf.d/10-ssl.conf :

ssl_cert = <#yourcertfile# ssl_key = <#yourkeyfile#

Then restart Postfix:

sudo systemctl restart postfix.service

Testing

SMTP-AUTH configuration is complete. Now it is time to test the setup.

To see if SMTP-AUTH and TLS work properly, run the following command:

telnet mail.example.com 25

After you have established the connection to the postfix mail server, type:

ehlo mail.example.com

If you see the following lines among others, then everything is working perfectly. Type quit to exit.

250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME

Troubleshooting

This section introduces some common ways to determine the cause if problems arise.

Escaping chroot

The Ubuntu postfix package will by default install into a chroot environment for security reasons. This can add greater complexity when troubleshooting problems.

To turn off the chroot operation locate for the following line in the /etc/postfix/master.cf configuration file:

smtp inet n - - - - smtpd

and modify it as follows:

smtp inet n - n - - smtpd

You will then need to restart Postfix to use the new configuration. From a terminal prompt enter:

sudo systemctl restart postfix.service

If you need smtps, edit /etc/postfix/master.cf and uncomment the following line:

smtps inet n - - - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject -o milter_macro_daemon_name=ORIGINATING

Log Files

Postfix sends all log messages to /var/log/mail.log . However error and warning messages can sometimes get lost in the normal log output so they are also logged to /var/log/mail.err and /var/log/mail.warn respectively.

Дорогой читатель! IP – АТС Asterisk использует e-mail сообщения для отправки уведомлений о различных событиях: голосовая почта, факс, доступные обновления модулей, технические проблемы и много других информативных нотификаций. «Из коробки», для отправки почты используются внутренние механизмы, но что если мы хотим вписать Asterisk в почтовый домен? Для решения данного вопроса можно прибегнуть к двум методам:

  1. Приобретение модуля System Admin Pro за $25 (на 29 марта стоимость составляет 1 600 рублей) и настройка SMTP с помощью удобного графического интерфейса FreePBX;
  2. Настройка встроенного почтового сервера Postfix через консоль сервера. Это бесплатно:)

Мы не ищем легких путей, поэтому, в статье расскажем как настроить Postfix для отправки почтовых уведомлений IP – АТС. В качестве примера рассмотрим настройку Яндекс. Почты для домена и общий случай.

Настройка Яндекс. Почты

Подключаемся к консоли нашего сервера IP – АТС через SSH под пользователем root . Открываем для редактирования файл конфигурации Postfix:

# vim /etc/postfix/main.cf

Нажимаем «О» для редактирования и добавляем в него следующую конфигурацию (предварительно удалив комментарии):

Smtp_sasl_auth_enable = yes //включаем SMTP аутентификацию для SMTP - демона smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd //указываем Postfix путь для файла, в котором хранятся пароль и логин для авторизации на SMTP сервере smtp_sasl_security_options = noanonymous //мы будем посылать запрос на авторизацию в открытом виде (нешифрованные логин и пароль) smtp_sasl_type = cyrus // использование библиотеки Cyrus SASL для аутентификации smtp_sasl_mechanism_filter = login //предлагаемый SMTP клиентом механизм SASL аутентификации smtp_sender_dependent_authentication = yes //аутентификация в зависимости от отправителя sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay //данная переменная указывает переписывать глобальную настройка relayhost. В данном случае мы будет сравнивать домен отправителя и релэй, куда отправлять почту. sender_canonical_maps = hash:/etc/postfix/canonical //через какой аккаунт отправлять почту с определенного домена smtp_generic_maps = hash:/etc/postfix/generic //данная настройка указывает правила, согласно которым, необходимо подменять адрес отправителя письма smtp_use_tls = yes //у Яндекс. Почты используется TLS myhostname = asterisk.merionet.ru //хостнейм вашего сервера mydomain = merionet.ru //домен сервера myorigin = $mydomain //в данном случае, при отправлении первоначального письма от пользователя root, email адрес отправителя будет [email protected] (в последствие будет заменен согласно правилам переменной smtp_generic_maps) mynetworks = 127.0.0.0/8 //авторизованная часть сети. Для отправки почты от Asterisk’а оставьте данную настройку как есть relayhost = :465 //SMTP Яндекс

По окончанию настроек нажимаем:x! и Enter. Начнем конфигурировать файлы, к которым мы указали ссылки в конфигурации main.cf. Открываем файл /etc/postfix/sasl_passwd:

# vim /etc/postfix/sasl_passwd

Указываем там следующие параметры:

# логин:пароль

В качестве логина и пароля используются реквизиты доступа к настраиваемому почтовому адресу. Нажимаем:x! и Enter. Теперь поработаем с файлом sender_relay:

Обратите внимание, что если Вы производите почту для домена от Яндекс. Почты, в поле логин нужно указывать полностью почтовый ящик.
# vim /etc/postfix/sender_relay

Вносим следующую конфигурацию:

# @домен пользователь@домен

Для корректной настройки, советуем предварительно перепроверить имя хоста командой hostname , отбросив хостовую часть и точно определив домен. Так же, в качестве отправителя, Вы можете добавить строчку asterisk@домен . Сохраняем изменения указанным ранее способом.

# vim /etc/postfix/canonical

Добавляем:

@домен настраиваемый_почтовый_ящик

В данной настройке мы подсказываем Постфиксу, что отправлять почту с нашего домена нужно через настраиваемый почтовый ящик. Сохраняем изменения. Переходим к настройке generic:

# vim /etc/postfix/generic

Здесь мы будем подменять адрес отправителя. Это очень важно поле, так как по умолчанию, в письмо в поле From: будет подставляться значение пользователь@домен. Заполняем:

Root настраиваемый_почтовый_ящик root@localhost настраиваемый_почтовый_ящик [email protected] настраиваемый_почтовый_ящик root@freepbx настраиваемый_почтовый_ящик [email protected] настраиваемый_почтовый_ящик asterisk настраиваемый_почтовый_ящик asterisk@localhost настраиваемый_почтовый_ящик [email protected] настраиваемый_почтовый_ящик asterisk@freepbx настраиваемый_почтовый_ящик [email protected] настраиваемый_почтовый_ящик

Сохраняем изменения:x! . Готово, теперь необходимо выполнить команду:

# postmap /etc/postfix/generic && postmap /etc/postfix/canonical && postmap /etc/postfix/sender_relay && postmap /etc/postfix/sasl_passwd

И затем перезагружаем Postfix:

# service postfix restart Shutting down postfix: [ OK ] Starting postfix: : [ OK ]

Выполняем проверку. Отправьте тестовое пустое письмо на свой личный почтовый ящик:

# mail -s "Postfix Test with Yandex" ваш_email < /dev/null

Как результат, получаем письмо на адрес электронной почты:

Общий случай настройки Postfix

Выше мы рассмотрели частный случай настройки Яндек.Почты для домена. Давайте пошагово рассмотрим настройку любого другого SMTP:

  1. Подключаемся по SSH к консоли сервера
  2. Открываем файл /etc/postfix/main.cf
  • добавляем relayhost =
  • Открываем файл /etc/postfix/sasl_passwd
    • добавляем запись вида логин:пароль
  • Даем команду postmap hash:/etc/postfix/sasl_passwd
  • Снова открываем файл /etc/postfix/main.cf
    • добавляем smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = smtp_generic_maps = hash:/etc/postfix/generic
  • Выполняем команду service postfix restart
  • Открываем файл /etc/postfix/generic
    • добавляем в него строчки, которые добавили на этапе настройки Яндекс.Почты: root настраиваемый_почтовый_ящик asterisk настраиваемый_почтовый_ящик ….
  • Выполняем команду postmap /etc/postfix/generic
  • Выполняем команду service postfix restart
  • Возможные ошибки

    После команды тестовой отправки почты смотрим лог:

    # tail -f /var/log/maillog

    Если наблюдаете ошибку вида 503 5.5.4 Error: send AUTH command first. , то она означает, что email с которого мы пытаемся отправить сообщение отбивается SMTP сервером (как правило, это видно в выводе лога в поле from=<>). В таком случае, проверьте корректность настроек файла /etc/postfix/generic.

    Если в логах обнаружили ошибку warning: SASL authentication failure: No worthy mechs found , то вам необходимо установить механизм аутентификации SASL (Simple Authentication and Security Layer). Сделать это можно с помощью команды ниже:

    # yum install cyrus-sasl cyrus-sasl-lib cyrus-sasl-plain

    Если на этапе отладки Вы получаете ошибку вида bash: mail: команда не найдена, то Вам необходимо установить Unix утилиту mailx . Сделать это можно с помощью этой команды:

    # yum install mailx

    Полезна ли Вам эта статья?

    Пожалуйста, расскажите почему?

    Нам жаль, что статья не была полезна для вас:(Пожалуйста, если не затруднит, укажите по какой причине? Мы будем очень благодарны за подробный ответ. Спасибо, что помогаете нам стать лучше!

    Postfix является агентом передачи почты (MTA) в Ubuntu по умолчанию. Он разработан чтобы быть быстрым, простым в администрировании и безопасным. Он совместим с MTA sendmail . Этот раздел описывает как установить и настроить postfix. Здесь также разъясняется как сделать его SMTP сервером, использующим безопасные соединения (для безопасной передачи сообщений).

    Установка

    Для установки postfix выполните следующую команду:

    Sudo apt-get install postfix

    Просто нажимайте ввод когда процесс установки задает вопросы, очень детальная настройка будет выполнена на следующем этапе.

    Базовая настройка

    Для настройки postfix , выполните следующую команду:

    Sudo dpkg-reconfigure postfix

    Будет запущен пользовательский интерфейс. На каждом экране выбирайте следующие значения:

      mail.example.com

      steve

      mail.example.com , localhost.localdomain, localhost

      127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.0.0/24

    Замените mail.example.com на домен, для которого вы настраиваете email, 192.168.0.0/24 на актуальную подсеть и маску для вашего почтового сервера и steve на соответствующее имя пользователя.

    Теперь самое время решить какой формат почтового ящика вы хотите использовать. По умолчанию postfix использует формат mbox . Вместо непосредственного редактирования файла конфигурации вы можете использовать команду postconf для настройки параметров postfix. Параметры будут сохранены в файле /etc/postfix/main.cf. В дальнейшем если вы решите переконфигурировать отдельные параметры вы можете как запустить команду, так и вручную поправить файл.

    Для настройки формата почтового ящика для Maildir :

    Sudo postconf -e "home_mailbox = Maildir/"

    Аутентификация SMTP

    SMTP -AUTH позволяет клиенту идентифицировать себя через механизм аутентификации (SASL). Транспортный уровень безопасности (TLS) будет использоваться для шифрования процесса аутентификации. После аутентификации SMTP сервер позволит клиенту передавать почту.

    1. Настройте Postfix на SMTP -AUTH с использованием SASL (Dovecot SASL):

    Sudo postconf -e "smtpd_sasl_type = dovecot" sudo postconf -e "smtpd_sasl_path = private/auth-client" sudo postconf -e "smtpd_sasl_local_domain =" sudo postconf -e "smtpd_sasl_security_options = noanonymous" sudo postconf -e "broken_sasl_auth_clients = yes" sudo postconf -e "smtpd_sasl_auth_enable = yes" sudo postconf -e "smtpd_recipient_restrictions = \ permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination"

    Настройка smtpd_sasl_path является путем, относительным к каталогу запросов Postfix.

    3. Как только у вас появился сертификат, настройте Postfix на использование TLS шифрования как для входящей, так и для исходящей почты:

    Sudo postconf -e "smtp_tls_security_level = may" sudo postconf -e "smtpd_tls_security_level = may" sudo postconf -e "smtp_tls_note_starttls_offer = yes" sudo postconf -e "smtpd_tls_key_file = /etc/ssl/private/server.key" sudo postconf -e "smtpd_tls_cert_file = /etc/ssl/certs/server.crt" sudo postconf -e "smtpd_tls_loglevel = 1" sudo postconf -e "smtpd_tls_received_header = yes" sudo postconf -e "myhostname = mail.example.com"

    4. Если вы используете собственный Центр сертификации , для подписи сертификата введите:

    Sudo postconf -e "smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem"

    Опять же, для подробностей смотрите раздел Сертификаты .

    После выполнения всех команд Postfix настроен на SMTP -AUTH и самоподписанный сертификат создан для TLS шифрования.

    Начальная настройка postfix закончена. Выполните следующую команду для перезапуска сервиса postfix:

    Postfix поддерживает SMTP -AUTH как описано в RFC2554 . Он основан на SASL . Однако все-таки необходимо настроить аутентификацию перед тем, как вы сможете использовать SMTP -AUTH.

    Настройка SASL

    Postfix поддерживает две реализации SASL: Cyrus SASL и Dovecot SASL . Чтобы разрешить Dovecot SASL , требуется установить пакет dovecot-common . Для этого из терминала введите следующее:

    Sudo apt-get install dovecot-common

    Socket listen { #master { # Master socket provides access to userdb information. It"s typically # used to give Dovecot"s local delivery agent access to userdb so it # can find mailbox locations. #path = /var/run/dovecot/auth-master #mode = 0600 # Default user/group is the one who started dovecot-auth (root) #user = #group = #} client { # The client socket is generally safe to export to everyone. Typical use # is to export it to your SMTP server so it can do SMTP AUTH lookups # using it. path = /var/spool/postfix/private/auth-client mode = 0660 user = postfix group = postfix } }

    Чтобы позволить использовать SMTP -AUTH клиентам Outlook, в секции auth default файла /etc/dovecot/dovecot.conf добавьте "login":

    Mechanisms = plain login

    После того, как Dovecot настроен, перезапустите его:

    Sudo /etc/init.d/dovecot restart

    Почтовый стек доставки

    Другой опцией настройки Postfix для SMTP -AUTH является использование пакета mail-stack-delivery (ранее он назывался dovecot-postfix). Этот пакет установит Dovecot и настроит Postfix для его использования совместно с SASL аутентификацией и как агента доставки почты (MDA). Пакет также настроит Dovecot для IMAP , IMAPS, POP3 и POP3S.

    Вы можете захотеть или не захотеть использовать IMAP , IMAPS, POP3 , или POP3S на вашем почтовом сервере. Например, если вы настраиваете свой сервер в качестве почтового шлюза, фильтра спама и вирусов и т.п. В этом случае возможно будет проще использовать вышеприведенные команды для настройки Postfix на SMTP _AUTH.

    Чтобы установить пакет, введите в терминале:

    Sudo apt-get install mail-stack-delivery

    У вас теперь рабочий почтовый сервер, но существует несколько опций, которые вы, возможно, захотите изменить в дальнейшем. Например, пакет использует сертификат и ключ от ssl-cert пакета, и в рабочей среде, вы должны использовать сертификат и ключ, сгенерированный для хоста. Смотрите радел Сертификаты для дополнительных деталей.

    После того, как вы получили заказанный сертификат для сервера, замените следующую опцию в /etc/postfix/main.cf:

    Smtpd_tls_cert_file = /etc/ssl/certs/ssl-mail.pem smtpd_tls_key_file = /etc/ssl/private/ssl-mail.key

    Перезапустите Postfix:

    Sudo /etc/init.d/postfix restart

    Тестирование

    Настройка SMTP -AUTH завершена. Теперь самое время проверить настройки.

    Чтобы убедиться, что SMTP -AUTH и TLS работают правильно, выполните следующую команду:

    Telnet mail.example.com 25

    После установления соединения с почтовым сервером postfix введите:

    Ehlo mail.example.com

    Если среди прочего вы увидите следующие строки, все работает замечательно. Введите quit для выхода.

    250-STARTTLS 250-AUTH LOGIN PLAIN 250-AUTH=LOGIN PLAIN 250 8BITMIME

    Решение проблем

    Эта секция описывает несколько общих способов определения причин возникающих проблем.

    Отказ от режима chroot

    Пакет postfix в Ubuntu по умолчанию устанавливается в окружении chroot из соображений безопасности. Это может дополнительно усложнить процесс поиска решения проблем.

    Для отключения функционирования chroot, найдите следующую строку в файле настроек /etc/postfix/master.cf:

    Smtp inet n - - - - smtpd

    И замените на следующее:

    Smtp inet n - n - - smtpd

    После этого вам придется перезапустить Postfix для использования новых настроек. Из терминал введите следующее:

    Sudo /etc/init.d/postfix restart

    Файлы журналов

    Postfix посылает все сообщения в журнал /var/log/mail.log. Однако сообщения об ошибках и предупреждения могут иногда теряться в нормальном журнале, поэтому они отдельно сохраняются в /var/log/mail.err и /var/log/mail.warn соответственно.

    Для просмотра сообщений журнала в режиме реального времени вы можете использовать команду tail -f :

    Tail -f /var/log/mail.err

    Количество деталей, записываемых в журнал, может быть увеличено. Ниже приведено несколько опций настройки для увеличения уровня детализации некоторых областей, описанных выше.

    1. Для увеличения TLS активности журнала, установите опции smtpd_tls_loglevel значение от 1 до 4.

    Sudo postconf -e "smtpd_tls_loglevel = 4"

    2. Если вы испытываете трудности с отправкой или приемом почты отдельного домена, вы можете включить его в параметр debug_peer_list .

    Sudo postconf -e "debug_peer_list = problem.domain"

    3. Вы можете увеличить детализацию любого сервиса Postfix редактированием /etc/postfix/master.cf, добавив -v после соответствующей записи. Для примера изменим запись smtp :

    Smtp unix - - - - - smtp -v

    Важно помнить, что после внесения изменений настроек журналирования процессов, Postfix требуется перезапустить для восприятия новой конфигурации: sudo /etc/init.d/postfix reload

    4. Для увеличения количества информации в журнале при поиске проблем с SASL, вы можете установить следующие опции в /etc/dovecot/dovecot.conf:

    Auth_debug=yes auth_debug_passwords=yes

    Как и в случае с Postfix, если вы изменяете настройки Dovecot, процесс требуется перезапустить: sudo /etc/init.d/dovecot reload

    Некоторые опции выше могут серьезно увеличить объем информации, передаваемой в файлы журналов. Не забывайте возвращать уровень детализации журналов к нормальному значению после решения проблем. Затем перезапустите соответствующий сервис, чтобы изменения настройки вступили в силу.

    Ссылки

    Администрирование сервера Postfix может быть очень сложной задачей. В какой-то момент вам может потребоваться обратиться к сообществу Ubuntu для более квалифицированной помощи.

    Для погружения в информацию по Postfix очень рекомендуется прочитать The Book of Postfix .

    Наконец сайт Postfix также содержит много информации по всем возможным опциям настройки.

    Кроме того страница Ubuntu Wiki Postfix содержит дополнительную информацию.

    Июнь 9, 2016 12:29 пп 12 208 views | 3 Comments

    Postfix – это агент пересылки сообщений (англ. Mail Transfer Agent, или MTA), приложение для отправки и получения электронной почты. Данное руководство поможет установить и настроить Postfix только для отправки сообщений локальных приложений (то есть, приложений, установленных на одном сервере с Postfix).

    Зачем это нужно?

    При использовании стороннего поставщика услуг электронной почты нет никакой необходимости запускать собственный почтовый сервер. Если же на облачном сервере установлены приложения, которым необходимо отправлять уведомления по электронной почте, то локальный SMTP-сервер передачи сообщений будет отличной альтернативой стороннему поставщику услуг электронной почты и полномасштабному SMTP-серверу.

    Требования

    • Настроенный сервер Ubuntu 16.04 (инструкции по настройке можно найти ).
    • Не-root пользователь с доступом к sudo.
    • Валидный домен (в руководстве используется условный домен example.com).

    Примечание : Имя хоста сервера должно соответствовать этому домену или поддомену. Чтобы проверить имя хоста сервера, введите в командную строку hostname. Вывод должен совпадать с именем сервера, которое он получил при создании.

    1: Установка Postfix

    Чтобы установить Postfix, а заодно и ряд других программ, необходимых для настройки почты, просто установите пакет mailutils.

    Обновите индекс пакетов:

    sudo apt-get update

    Пакет mailtuils установит Postfix и несколько дополнительных программ:

    sudo apt install mailutils

    В конце установки программа предложит выбрать тип настройки. Рекомендуется выбрать стандартную опцию Internet Site. Для этого нажмите TAB и ENTER.

    Please select the mail configuration type that best meets your needs.
    […]
    General type of mail configuration:
    No configuration
    Internet site
    Internet with smarthost
    Satellite system
    Local only

    После этого программа предложит выбрать имя почты, System mail name. Это поле должно совпадать с именем сервера, которое вы выбрали при его создании. Укажите имя, а затем нажмите TAB и ENTER. Если в поле автоматически введён поддомен типа subdomain.example.com, замените его на домен example.com.

    The ‘mail name’ is the domain name used to ‘qualify’ _ALL_ mail addresses without a domain name.
    […]
    System mail name:

    2: Настройка Postfix

    Теперь нужно настроить Postfix для отправки сообщений с локального хоста.

    Для этого Postfix должен быть настроен на прослушивание только интерфейса внутренней петли (loopback interface) – это виртуальный сетевой интерфейс, который используется сервером для внутреннего взаимодействия. Откройте конфигурационный файл Postfix в текстовом редакторе:

    sudo nano /etc/postfix/main.cf

    Найдите раздел:

    . . .
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = all
    . . .

    Измените значение строки inet_interfaces = all на loopback-only.

    . . .
    mailbox_size_limit = 0
    recipient_delimiter = +
    inet_interfaces = loopback-only
    . . .

    После этого нужно отредактировать директиву mydestination, которая задаёт список доменов, почта которых должна быть доставлена через локальный агент доставки local_transport. По умолчанию список выглядит примерно так:

    /etc/postfix/main.cf
    . . .
    mydestination = $myhostname, example.com, localhost.com, localhost
    . . .

    /etc/postfix/main.cf
    . . .
    mydestination = $myhostname, localhost.$mydomain, $mydomain
    . . .

    Сохраните и закройте файл.

    Примечание : Если на одном сервере вы разместили несколько доменов, можно добавить остальные домены в настройки Postfix (mydestination). К сожалению, это потребует дополнительной настройки, что выходит за рамки данного руководства.

    Перезапустите Postfix:

    sudo systemctl restart postfix

    3: Тестирование SMTP-сервера

    Теперь необходимо проверить, может ли Postfix отправлять сообщения на внешний электронный адрес. Для этого используется команда mail, которая также входит в пакет mailutils.

    Чтобы отправить тестовое сообщение, введите:

    echo "This is the body of the email" | mail -s "This is the subject line" your_email_address

    Примечание : Укажите свою тему и тело сообщения. Вместо your_email_address используйте валидный адрес электронной почты.

    Проверьте почтовый ящик, на который было отправлено сообщение. Если отправленное сообщение не появилось, проверьте папку спама.

    При такой настройке в поле From будет указан адрес [email protected], где user – имя пользователя системы Linux, а example.com – имя хоста. Если вы измените имя пользователя, адрес в поле From тоже изменится.

    4: Почтовый форвардинг

    В завершение нужно настроить пересылку почты (или форвардинг), чтобы сервер мог предавать сообщения, отправленные пользователю root, на ваш персональный внешний адрес.

    Чтобы Postfix отправлял сгенерированные системой сообщения на ваш почтовый адрес, отредактируйте файл /etc/aliases.

    sudo nano /etc/aliases

    В стандартной установке Ubuntu 16.04 этот файл выглядит так:

    # See man 5 aliases for format
    postmaster: root

    Эта настройка передает сообщения системы пользователю root. Теперь нужно сделать так, чтобы сообщения перенаправлялись на ваш адрес электронной почты. Для этого внесите в файл строку.



    
    Top