Содержание
- 1 Шаг 1. Удаление предыдущего MTA.
- 2 Шаг 2. Настраиваем имя хоста.
- 3 Шаг 3. Начинаем установку необходимых пакетов:
- 4 Шаг 4. Настройка сервера MySQL
- 5 Шаг 5. Создаем служебные таблицы MySQL
- 6 Шаг 6. Настраиваем Postfix для работы с MySQL
- 7 Шаг 7. Создаем пользователя для хранения почты
- 8 Шаг 8. Конфигурируем Postfix
- 9 Шаг 9. Создаем SSL-сертификат
- 10 Шаг 9. Учим saslauthd работать с MySQL
- 11 Шаг 10. Конфигурируем Dovecot
Всем привет! И вот наконец дописал я эту статью, которая стала сборником различных методов настройки почты на сервере Debian.
При написании использовались разные источники, поэтому элементы кода могут вам быть знакомыми. Я благодарен форумам за то, что наставили на путь истинный в войне с postfix!
В начале нам потребуется вот что:
- Регистрируем доменное имя, какое нам больше нравится. Если хотите почту вида <user>@litl-admin.ru, то регистрировать нужно litl-admin.ru. Конечно, придумайте своё; Сделать это можно у крупных регистраторов или у, практически, любого хостера.
- Арендуем VDS с предустановленной Linux. В общем виде – это виртуальная машина с выделенным IP, на которой мы являемся root и можно ставить все, что угодно. Само-собой и настраивать тоже. Обходится эта услуга не очень дорого, порядка 1400 рублей в год, что весьма и весьма неплохо;
- Прописываем MX запись в DNS настройках нашего доменного имени с указанием IP-адреса нашего VDS;
Так, это всё организационные моменты. Теперь будем настраивать наш сервер.
Шаг 1. Удаление предыдущего MTA.
Удаляем exim4 из системы. У меня в Debian это был почтовый MTA по умолчанию, от которого я поспешил избавиться. Если в системе фурычит sendmail (проверить можно по # netstat -an | grep :25
) то # kill -9 этот PID
и продолжаем работу дальше;
Шаг 2. Настраиваем имя хоста.
Для этого посмотрите вывод команд:
# hostname
– выводит короткое имя узла и
# hostname -f
– выводит полное FQDN имя узла. Эти имена нужно будет прописать сразу в файл /etc/hosts в виде:
…
<ваш IP адрес> <вывод команды hostname -f> <вывод команды hostname>
…
Попутно запишите себе этот FQDN, он нам ещё пригодится.
Шаг 3. Начинаем установку необходимых пакетов:
# apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server dovecot-common dovecot-imapd dovecot-pop3d libsasl2-2 libsasl2-modules libsasl2-modules-sql sasl2-bin libpam-mysql openssl telnet mailutils
Во время установки вам будет задан ряд наводящих на мысли вопросов навроде пароля суперпользователя mysql. Указывайте то, что не забудете. И лучше сразу записывать куда-нибудь подальше.
Далее, начнется конфигурирование Postfix (диалоговые окна), в которых нужно указать, что наш почтовый сервер является Интернет-сайтом, после чего указать наше hostname в поле ввода имени хоста. Тут указываем полное FQDN-имя:
Остальные настройки будем вносить непосредственно в файл /etc/postfix/main.cf.
Шаг 4. Настройка сервера MySQL
Настройка проста и богата дефолтами. Прежде всего убедимся, что работать будем с локальным хостом, для чего в файле /etc/mysql/my.cnf отметим параметр:
bind-address = 127.0.0.1
Перезапускаем / запускаем службу mysql:
# service mysql restart
(или start
, если не была запущена ранее)
Проверяем коннект:
# mysql -uroot -p<наш пароль, заданный при установке>
Обратите внимание, что пробелы между -p и паролем не ставятся! Если увидели приглашение mysql> значит всё ок! Идём дальше.
Шаг 5. Создаем служебные таблицы MySQL
Выполняем, как указано выше:
# mysql -u root -p<пароль>
и попадаем в командный режим mysq.
Далее, переписываем туда нижеуказанные команды (можно сделать копипаст):
CREATE DATABASE mail;
USE mail;
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'postfixadmin'@'localhost' IDENTIFIED BY 'postfixpassword';
GRANT SELECT, INSERT, UPDATE, DELETE ON mail.* TO 'postfixadmin'@'localhost.localdomain' IDENTIFIED BY 'postfixpassword';
FLUSH PRIVILEGES;
CREATE TABLE domains (domain varchar(30) NOT NULL, PRIMARY KEY (domain) );
CREATE TABLE forwardings (source varchar(80) NOT NULL, destination TEXT NOT NULL, PRIMARY KEY (source) );
CREATE TABLE users (email varchar(80) NOT NULL, password varchar(20) NOT NULL, PRIMARY KEY (email) );
QUIT;
Не забудьте поменять логин с паролем для пущей безопасности!
Шаг 6. Настраиваем Postfix для работы с MySQL
Для того, чтобы Postfix мог брать информацию не из файлов, а из нашей базы данных (какие аккаунты есть, какие домены обслуживать, куда почту перенаправлять), нужно предусмотреть его работу с движком mysql. Для этого создаем служебные файлы следующего содержания:
Файл /etc/postfix/mysql-virtual_domains.cf
user = postfixadmin
password = postfixpassword
dbname = mail
query = SELECT domain AS virtual FROM domains WHERE domain='%s'
hosts = 127.0.0.1
Файл /etc/postfix/mysql-virtual_forwardings.cf
user = postfixadmin
password = postfixpassword
dbname = mail
query = SELECT destination FROM forwardings WHERE source='%s'
hosts = 127.0.0.1
Файл /etc/postfix/mysql-virtual_mailboxes.cf
user = postfixadmin
password = postfixpassword
dbname = mail
query = SELECT CONCAT(SUBSTRING_INDEX(email,'@',-1),'/',SUBSTRING_INDEX(email,'@',1),'/') FROM users WHERE email='%s'
hosts = 127.0.0.1
Файл /etc/postfix/mysql-virtual_email2email.cf
user = postfixadmin
password = postfixpassword
dbname = mail
query = SELECT email FROM users WHERE email='%s'
hosts = 127.0.0.1
Сразу расскажу, для чего нужна та или иная таблица:
- domain – в этой таблице хранятся домены, обслуживаемые нашим сервером. Для моего сайта будет litl-admin.ru, если вы купите ещё одно доменное имя, то укажите и его сюда, чтобы наш почтовый сервер мог обслуживать несколько доменов.
- forwardings – в этой таблице хранятся данные для перенаправления входящей почты. Например, если мы хотим завести почту с нашим красивым доменом, но не хотим хранить там письма, то можно редиректить всю входящую почту на наш ящик на mail.ru например;
- users – в этой таблице хранятся пользователи, созданные на нашем сервере. Хотите добавить нового юзера – просто добавьте запись в эту таблицу. Указывать нужно вместе с доменом.
На все созданные выше файлы назначаем привилегии, для того, чтобы увеличить безопасность. Конечно, чтобы никто другой не прочитал.
# chmod o= /etc/postfix/mysql-virtual_*.cf
Напомню, что формулировка 0= выставляет права для других (Other) равными … ну то есть убирает, при этом не трогая другие права. То есть права владельца и группы остаются неизменными.
Назначим так же группу на эти файлы:
# chgrp postfix /etc/postfix/mysql-virtual_*.cf
Готово! Идём дальше.
Шаг 7. Создаем пользователя для хранения почты
Первым делом, создаем группу virtualmail с gid-ом 5000, конечно можно указать любой gid из не существующих ранее, но почему-то полюбился для постфикса именно этот:
# groupadd -g 5000 virtualmail
Теперь создаем одноименного пользователя с аналогичным uid и домашний каталог для него.
# useradd -g virtualmail -u 5000 virtualmail -d /home/virtualmail -m
Шаг 8. Конфигурируем Postfix
#Указываем баннер для нашего сервера)
smtpd_banner = Welcome to SMTP by Litl-admin.ru
biff = no
# Не будем добавлять .домен, это работа почтового
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = /usr/share/doc/postfix
# TLS parameters
# Путь к сертификату, сгенерируем его попозже
smtpd_tls_cert_file = /etc/postfix/smtpd.cert
smtpd_tls_key_file = /etc/postfix/smtpd.key
smtpd_use_tls = yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# Имя хоста, совпадает с сайтом
myhostname = litl-admin.ru
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost, localhost.localdomain
relayhost =
# Замените [My.Site.Ip.Addr] на ваш IP-адрес
mynetworks = 127.0.0.0/8 [My.Site.Ip.Addr]/32
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
html_directory = /usr/share/doc/postfix/html
# 30 мегабайт вполне достаточно
message_size_limit = 30720000
virtual_alias_domains =
# Вот тут используем виртуальные адреса для пересылки почты
virtual_alias_maps = proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf, mysql:/etc/postfix/mysql-virtual_email2email.cf
# Обслуживаемые виртуальные домены
virtual_mailbox_domains = proxy:mysql:/etc/postfix/mysql-virtual_domains.cf
# Обслуживаемые ящики
virtual_mailbox_maps = proxy:mysql:/etc/postfix/mysql-virtual_mailboxes.cf
# Каталог для почты
virtual_mailbox_base = /home/virtualmail
# Владелец каталога (UID, GID)
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
# Испольуем SASL для аутентификации
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_authenticated_header = yes
# Обязательно наличие HELO
smtpd_helo_required = yes
# Отбрасываем тормозов
smtpd_delay_reject = yes
# Команда VRFY помогает злоумышленникам подбирать адреса (можно узнать о существовании адреса)
disable_vrfy_command = yes
# Отсекаем на уровне HELO. Разрешаем всех из mynetworks и успешно аутентифицированных, режем всех, кто представляется инвалидным именем
smtpd_helo_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_invalid_hostname
permit
# Отсекаем на уровне MAIL FROM. Разрешаем аутентифицированных и из наших подсетей, режем всех, кто представляется не FQDN или неизвестным нам доменом (не пошлют письмо с обратным адресом billi@gates.ass и подобным.
smtpd_sender_restrictions =
permit_sasl_authenticated
permit_mynetworks
reject_non_fqdn_sender
reject_unknown_sender_domain
permit
# Отсекаем на уровне RCPT TO. Разрешаем аналогично. Режем всех, кто шлёт письма в потоке, а так же когда адрес назначения не соответствует нашему серверу или FQDN-записи.
smtpd_recipient_restrictions =
reject_unauth_pipelining
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
reject_non_fqdn_recipient
permit
# Отсекаем на уровне DATA. Разрешаем аналогично, режем всех, кто шлет в потоке.
smtpd_data_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_pipelining
permit
# Отсекаем на уровне End data, режем всех, кто осуществляет множественную пересылку от пустого имени.
smtpd_end_of_data_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_multi_recipient_bounce
permit
virtual_create_maildirsize = yes
virtual_maildir_extended = yes
proxy_read_maps = $local_recipient_maps $mydestination $virtual_alias_maps $virtual_alias_domains $virtual_mailbox_maps $virtual_mailbox_domains $relay_recipient_maps $relay_domains $canonical_maps $sender_canonical_maps $recipient_canonical_maps $relocated_maps $transport_maps $mynetworks $virtual_mailbox_limit_maps
virtual_transport = dovecot
Шаг 9. Создаем SSL-сертификат
Переходим в каталог с postfix (по умолчанию это /etc/postfix/, ну вы знаете уже)
# cd /etc/postfix
Генерируем сертификат
# openssl req -new -outform PEM -out smtpd.cert -newkey rsa:2048 -nodes -keyout smtpd.key -keyform PEM -days 365 -x509
Начнутся допросы с пристрастием, отвечаем честно, то есть первое, что придёт в голову. Важно только предпоследнее поле, туда указываем то имя хоста, что у нас в конфиге postfix-а:
Country Name (2 letter code) [AU]:RU
State or Province Name (full name) [Some-State]:Sakhalin isl.
Locality Name (eg, city) []:Yuzhno-Sakhalinsk
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Litl-admin Ltd
Organizational Unit Name (eg, section) []:My Mail Service
Common Name (eg, YOUR name) []:litl-admin.ru
Email Address []:root@litl-admin.ru
Вот и всё. Не забываем защитить сертификат от посягательств:
# chmod o= /etc/postfix/smtpd.key
Шаг 9. Учим saslauthd работать с MySQL
Создаем директорию для saslauthd
# mkdir -p /var/spool/postfix/var/run/saslauthd
Начинаем редактировать файл /etc/default/saslauthd, предварительно создав его резервную копию. Вообще, поверьте, перед любым редактированием конфига полезно сделать его резервную копию:
# cp -a /etc/default/saslauthd /etc/default/saslauthd.old
Содержимое конфига /etc/default/saslauthd:
START=yes
DESC="SASL Authentication Daemon"
NAME="saslauthd"
MECHANISMS="pam"
MECH_OPTIONS=""
THREADS=5
OPTIONS="-c -m /var/spool/postfix/var/run/saslauthd -r"
Вслед за этим создаем файл /etc/pam.d/smtp и вставляем в него строки:
auth required pam_mysql.so user=postfixadmin passwd=postfixpassword host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
account sufficient pam_mysql.so user=postfixadmin passwd=postfixpassword host=127.0.0.1 db=mail table=users usercolumn=email passwdcolumn=password crypt=1
Далее, создаем файл /etc/postfix/sasl/smtpd.conf со следующим содержимым:
pwcheck_method: saslauthd
mech_list: plain login
allow_plaintext: true
auxprop_plugin: mysql
sql_hostnames: 127.0.0.1
sql_user: postfixadmin
sql_passwd: postfixpassword
sql_database: mail
sql_select: select password from users where email = '%u'
Аналогичным образом, защищаем эти файлы:
# chmod o= /etc/pam.d/smtp
# chmod o= /etc/postfix/sasl/smtpd.conf
Ну и добавим пользователя в группу:
# adduser postfix sasl
Шаг 10. Конфигурируем Dovecot
Для этого открываем файл /etc/postfix/master.cf и дописываем в конец:
dovecot unix - n n - - pipe
flags=DRhu user=virtualmail:virtualmail argv=/usr/lib/dovecot/deliver -d ${recipient}
Редактируем конфиг dovecot (разумеется, сделав бэкап):
# cp -a /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.old
Открываем этот файл и записываем в него (предварительно грохнув всё, что там есть)
# cat /dev/null > /etc/dovecot/dovecot.conf
Содержимое файла /etc/dovecot/dovecot.conf:
protocols = imap imaps pop3 pop3s
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/virtualmail/%d/%n/Maildir
ssl_cert_file = /etc/ssl/certs/dovecot.pem
ssl_key_file = /etc/ssl/private/dovecot.pem
namespace private {
separator = .
prefix = INBOX.
inbox = yes
}
protocol lda {
log_path = /home/virtualmail/dovecot-deliver.log
auth_socket_path = /var/run/dovecot/auth-master
postmaster_address = root@litl-admin.ru
mail_plugins = sieve
global_script_path = /home/virtualmail/globalsieverc
}
protocol pop3 {
pop3_uidl_format = %08Xu%08Xv
}
auth default {
user = root
passdb sql {
args = /etc/dovecot/dovecot-sql.conf
}
userdb static {
args = uid=5000 gid=5000 home=/home/virtualmail/%d/%n allow_all_users=yes
}
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0600
user = virtualmail
}
client {
path = /var/spool/postfix/private/auth
mode = 0660
user = postfix
group = postfix
}
}
}
Далее, редактируем файл /etc/dovecot/dovecot-sql.conf, предварительно сделал резервную копию.
# cp -a /etc/dovecot/dovecot-sql.conf /etc/dovecot/dovecot-sql.conf.old
driver = mysql
connect = host=127.0.0.1 dbname=mail user=postfixadmin password=postfixpassword
default_pass_scheme = CRYPT
password_query = SELECT email as user, password FROM users WHERE email='%u';
Защищаем конфиги dovecot-а (он будет пахать под учеткой виртуальной почты):
# chgrp virtualmail /etc/dovecot/dovecot.conf
# chmod g+r /etc/dovecot/dovecot.conf
Для нормальной работы Postfix требуются почтовые алиасы (синонимы), редактируем файл /etc/aliases:
postmaster: root
root: root@litl-admin.ru
После того, как сохранили все нужные алиасы, перестраиваем файл алиасов так:
# newaliases
Ну и рестартнем MTA и все сопутствующие сервисы:
# service postfix restart
# service saslauthd restart
# service dovecot restart
Все логи можно смотреть в /var/log/mail.log, предварительно очистим, чтобы не мельтешили лишние записи:
# cat /dev/null > /var/log/mail.log
Здравствуйте.
У нас сервер на Debian 7, используется dovecot и postfix. Скажите, пожалуйста, где в этом случае стоит искать логи по всей отправляемой через функцию php mail почте?
Подозреваю, что /var/log/maillog, /var/log/mail.log
Посмотрите конфиги сислога, может переопределено в другой файл
Спасибо за статью
Столкнулся с ситуацией подмены адресата. Когда письма отсылаются на доменную почту сайта(формируются уведомления о заказах), то вместо info@somesite.ru письма уходят на virtuser_501@testrelease.ispsystem.net. Виной всему видимо прописанные строки в настройках main.cf postfix:
myhostname = testrelease.ispsystem.net
mydomain = ispsystem.net
Остается только вопрос почему именно на ящик virtuser_501 домена testrelease.ispsystem.net, где это прописывается?
sender_canonical_maps или smtp_generic_maps или иные алиасы настраивали?
Здравствуйте. Спасибо.
Нет, не настраивал, как было так и есть. Если заменить значения myhostname и mydomain в конфигурационном файле, может дальше и лезть не надо будет, и почта будет отправляться без подмены конечного адресата?
Ну смотрите, myhostname – как правило имя текущего хоста, mydomain соответственно домен. Чему равно myorigin? Может полный конфиг скините куда-нибудь на pastebin?
Спасибо. Вот main.cfhttp://pastebin.com/raw/idSxFmL4
Нашёл файл etc/mail/virtusertable, в котором была запись вида info@somesite.ru virtuser_501
затёр её, сохранил файл, но в логах всё равно пишется что пересылается абоненту virtuser_501@somesite.ru. Надо etc/mail/virtusertable.db обновить? Как?
Попробую с новой строки, а то все уже и уже
Обновил virtusertable.db.
Теперь новая ситуация Попробовал отправить письмо на info@somesite.ru с обычного yandex-го ящика – в логах появляется такое:
[QUOTE]
May 17 17:56:33 server1 postfix/smtpd[19508]: NOQUEUE: reject: RCPT from forward9p.cmail.yandex.net[87.250.241.194]: 550 5.1.1 : Recipient address rejected: User unknown in local recipient table; from= to= proto=ESMTP helo=
[/QUOTE]
Периодически также мелькает unknown user: “info”
Как можно создать этого неизвестного юзера в локальной таблице реципиентов?
Вот для этого виртюзертабле и был создан. Можно пользователей хранить в базе, в файле. Как настроено.
Спасибо. Исправил. Теперь письма на info@somesite.ru отправляются, по крайней мере в логах такое
May 18 12:51:38 f postfix/local[10672]: 33D173A24537: to=, relay=local, delay=0.97, delays=0.93/0/0/0.04, dsn=2.0.0, status=sent (delivered to command: /usr/bin/procmail)
и ответных сообщений о недоставке не приходит. Но почему-то писем не видно в интерфейсе SquirellMail. Я так понимаю, что письма должен доставлять procmail, но почему-то нет файла его настроек, файла etc/procmailrc. Видимо из-за этого письма не видны во входящих SquirellMail. Как поступить в этой ситуации?
Вы знаете, письма в файле var/mail/info есть, видимо squirellmail неправильно настроен. С чего бы начать проверки?
Попробовать получить почту локально через pop/pop3 команды прямо с сервера. Аутентифицироваться, посмотреть письма. Быть может параметры аутентификации (логин-пароль) неверны или незаданы. Так просто в логах должно отразиться на каком шаге происходит отказ. Либо в почтовом клиенте включить расширенное логирование (в Вашем – не знаю где, в TheBat в настройках ящика) и попробовать забрать почту. Потом посмотреть лог-файл.
Здравствуйте. Спасибо.
Хостер поменял почтовый клиент на RoundCube, я пересоздал ящик info@somesite.ru через ISP панель с перенаправлением писем на резервный_ящик@bk.ru.
Если с внешнего личного мэиловского ящика(customer@inbox.ru) писать на доменную почту сайта(info@somesite.ru), то письма приходят в резервный_ящик@bk.ru, а значит и на info@somesite.ru.
Попробовал оформить заказ с сайта – уведомления по прежнему приходят только на ящик заказчика(в логе это customer@inbox.ru), но не на info@somesite.ru и резервный_ящик@bk.ru.
Вот какой почтовый лог генерит один заказ на сайте:
[SPOILER][QUOTE]
May 21 09:02:33 f postfix/pickup[23370]: 985DC3A2484D: uid=500 from=
May 21 09:02:33 f postfix/cleanup[24768]: 985DC3A2484D: message-id=
May 21 09:02:36 f postfix/qmgr[21364]: 985DC3A2484D: from=, size=1322, nrcpt=1 (queue active)
May 21 09:02:36 f postfix/pickup[23370]: 2F0B03A25195: uid=500 from=
May 21 09:02:36 f postfix/cleanup[24782]: 2F4283A25197: message-id=
May 21 09:02:36 f postfix/cleanup[24716]: 2F0B03A25195: message-id=
May 21 09:02:36 f postfix/qmgr[21364]: 2F4283A25197: from=, size=1459, nrcpt=1 (queue active)
May 21 09:02:36 f postfix/local[24772]: 985DC3A2484D: to=, orig_to=, relay=local, delay=2.6, delays=2.6/0/0/0.04, dsn=2.0.0, status=sent (forwarded as 2F4283A25197)
May 21 09:02:36 f postfix/qmgr[21364]: 985DC3A2484D: removed
May 21 09:02:36 f postfix/qmgr[21364]: 2F0B03A25195: from=, size=1421, nrcpt=1 (queue active)
May 21 09:02:36 f postfix/smtp[24835]: 2F4283A25197: to=, orig_to=, relay=mxs.mail.ru[217.69.139.150]:25, delay=0.56, delays=0.04/0.07/0.19/0.27, dsn=5.7.1, status=bounced (host mxs.mail.ru[217.69.139.150] said: 550 5.7.1 This message was not accepted due to domain owner DMARC policy (RFC 7489) [url]https://help.mail.ru/mail-help/postmaster/dmarc[/url] (in reply to end of DATA command))
May 21 09:02:36 f postfix/cleanup[24768]: C15CA3A2484D: message-id=
May 21 09:02:36 f postfix/qmgr[21364]: C15CA3A2484D: from=, size=3653, nrcpt=1 (queue active)
May 21 09:02:36 f postfix/bounce[24781]: 2F4283A25197: sender non-delivery notification: C15CA3A2484D
May 21 09:02:36 f postfix/qmgr[21364]: 2F4283A25197: removed
May 21 09:02:38 f postfix/smtp[24835]: C15CA3A2484D: to=, relay=mxs.mail.ru[94.100.180.150]:25, delay=1.5, delays=0.03/0/0.34/1.2, dsn=2.0.0, status=sent (250 OK id=1b3zzh-0005bE-5u)
May 21 09:02:38 f postfix/qmgr[21364]: C15CA3A2484D: removed
May 21 09:02:39 f postfix/smtp[24836]: 2F0B03A25195: to=, relay=mxs.mail.ru[94.100.180.150]:25, delay=5.9, delays=2.7/0.02/0.58/2.7, dsn=2.0.0, status=sent (250 OK id=1b3zzi-0006de-5y)
May 21 09:02:39 f postfix/qmgr[21364]: 2F0B03A25195: removed
[/QUOTE][/SPOILER]
Интересует ответ серверов mail.ru
status=bounced (host mxs.mail.ru[217.69.139.150] said: 550 5.7.1 This message was not accepted due to domain owner DMARC policy (RFC 7489) [url]https://help.mail.ru/mail-help/postmaster/dmarc[/url] (in reply to end of DATA command)), когда в параметре from значится customer@inbox.ru, а в to и orig_to соответственно резервный_ящик@bk.ru и info@somesite.ru.
Такой ответ возвращается из-за того, что программа сайта пытается послать письмо от имени стороннего почтового ящика customer@inbox.ru, а не от info@somesite.ru?
Такое чувство, что некорректно заполняются заголовки, а сервер майла их за это отфутболивает, так как письма с подобной схемой могут использоваться для рассылки спама. Насколько критично использовать свой почтовик? Может перенести всё на почту для домена от, например, яндекса? У меня к ним нареканий нет, зато головняков с настройкой стало 0.