Антон Тихомиров: да, письма как правило передаются через API, e-mail отправителя (From:) обычно используется существующий, соответствующий категории письма (разный для разных категорий - общие маркетинговые, триггерные, транзакционные) и такой, что его читают люди, т.к. получатели иногда отвечают. Получателю это позволяет настраивать фильтры по отправителю по категориям писем и даже если маркетинговые письма полетят в спам, транзакционные письма будут доходить. E-mail отправителя в SMTP-конверте (envelope-from) часто генерируется уникальный для каждого письма, это позволяет легко отлавливать отлупы, обнаруживать недоставленные письма и исключать "мертвые" адреса получателей.
tsofist: на самом деле, скорей всего виноват все равно ваш сервер, просто при совместной работе с антивирусом проблема проявляется, т.к. антивирус в какой-то момент тормозит отправку. Причиной может быть либо send() без проверки возвращаемого значения с серверной стороны (send не обязательно отправляет все данные, может отправить только часть, это обязательно надо контролировать и досылать те данные, что не ушли) либо отсутствие linger на неблокирующем (асинхронном) сокете. Если сокеты используются в неблокирующем режиме обязательно необходимо устанавливать linger (см. справку по setsockopt).
mail.ru не хранит пароль от внешнего ящика в открытом виде. Используется одино из двух:
1. Для сервисов, поддерживающих OAuth 2.0 (GMail, Hotmail/Otlook.com и частично Yahoo и Yandex) хранится ключ.
2. Для остальных сервисов хранится пароль в шифрованом виде с ассиметричной криптографией. Фронтенд умеет только шифровать, дешифровка пароля производится на бэкенд серверах которые "ходят" за почтой и недоступны снаружи.
Рома: можно поставить -o receive_override_options=no_header_body_checks для submission, тогда для писем отправленных через submission header_checks не будет проверяться.
Альтернативно, можно задать отдельный транспорт для своего домена, в master.cf на этот транспорт повесить отдельный cleanup-сервис (-o cleanup_service_name=) и в этом cleanup-сервисе прописать header_checks, тогда он будет проверяться только для получателей в вашем домене.
Рома: если хотите фильтровать именно From, это можно сделать через header_checks в Postfix (запретить To не содержащий ваш домен, например). Но я бы на вашем месте просто внес спамящие сервера на время в client_check (check_client_access).
Ксения: попробуйте сами перейти по клику, если появится в статистике - то очевидно проблема в ЦА. Вообще полезно в любую рассылку включать контрольные ящики.