Итак, у меня есть небольшой веб-сервер Linux, на нем работает панель управления Direct Admin, и все работает нормально. Для каждого домена в DNS присутствуют записи SPF и DKIM, а почта (насколько мне известно) никогда не помечается как спам, отлично.
Теперь у меня есть друг, который хочет подделать свои электронные письма со своего веб-сайта. Это небольшой виджет «Поделиться этой страницей», в котором люди вводят to
и from
электронное письмо, и они будут отправлены.
Проблема, с которой я столкнулся, заключается в том, что письма в Gmail доставляются с текстом someuser@gmail.com via my.server.fqdn
. Тот факт, что Gmail показывает via
Само по себе это не проблема, я понимаю, что это сделано для предотвращения спуфинга, и, к сожалению, это, по-видимому, необходимо для сохранения «безопасности» Интернета. Но могу ли я изменить сервер, указанный в via
на доменное имя моих друзей?
Могу ли я изменить Gmail someuser@gmail.com via my.server.fqdn
к someuser@gmail.com via domain-on-same-server.com
? (Я хотел бы изменить это только для этого домена и, очевидно, не изменять мою конфигурацию exim, чтобы изменить имена серверов и т. Д.)
TL; DR;
На скриншоте ниже из Служба поддержки Google Я хочу переписать example.com на mydomain.com
Похоже, что Google просто отображает домен, найденный в Return-Path, и использует его.
это Страница справки DirectAdmin объяснил, что Exim по умолчанию устанавливает путь возврата на user@server.hostname.com
когда почта отправляется из скрипта.
Решение - изменить exim.conf
включить следующий фрагмент:
untrusted_set_sender = *
no_local_from_check
Это гарантирует, что exim использует путь возврата, указанный пользователем в заголовках почты.
В частности, Документация Exim объясняет:
Когда сообщение отправляется локально (то есть не через TCP / IP-соединение) ненадежным пользователем, Exim удаляет любую существующую строку заголовка Sender: и проверяет, что строка заголовка From: совпадает с логином вызывающего пользователя и домена. указанный qualify_domain.
Примечание: Неквалифицированный адрес (без домена) в заголовке From: в локально отправленном сообщении автоматически квалифицируется Exim, если не используется опция командной строки -bnq.
Вы можете использовать local_from_prefix и local_from_suffix, чтобы разрешить аффиксы в локальной части. Если строка заголовка From: не совпадает, exim добавляет заголовок Sender: с адресом, созданным из логина вызывающего пользователя и квалифицированного домена по умолчанию.
Если local_from_check имеет значение false, проверка заголовка From: отключена, и заголовок Sender: никогда не добавляется. Если, кроме того, вы хотите сохранить строки заголовка Sender:, предоставленные ненадежными пользователями, вы также должны установить для local_sender_retain значение true.
Эти параметры влияют только на строки заголовка сообщения. Отправитель конверта по-прежнему вынужден быть идентификатором входа в квалификационный домен, если только untrusted_set_sender не разрешает пользователю указать отправителя конверта.
Итак, установив заголовок Return-Path на someuser@mydomain.com
. Gmail теперь отображает отправителя как someotheruser@hotmail.com via mydomain.com
.
Короче - нельзя.
Другой сервер всегда знает IP-адрес подключенного к нему хоста. Затем он выполняет поиск домена, чтобы узнать, какое имя хоста у этого IP-адреса. Пока A
DNS-записей может быть несколько, PTR
запись является одиночной, и вы не можете подделать ее для какого-то конкретного сервера по сети.
Единственный способ убрать упоминания о промежуточном сервере - это настроить принимающий сервер, чтобы не упоминать его.