Exim4 с несколькими сайтами

Я на Ubuntu Server 12.04, и мне удалось установить и настроить Exim4, следуя этому руководству.

Я установил в качестве имени моего хоста 'multiformeingegno.com', и мой /etc/hosts выглядит так:

127.0.0.1                           localhost
127.0.1.1                           multiformeingegno
IPv4 ADDRESS                        multiformeingegno.com      multiformeingegno
IPv6 ADDRESS                        multiformeingegno.com      multiformeingegno

Я могу отправлять письма через PHP просто отлично. У меня есть 2 вопроса.

  1. Я использую VPS, и мой хост похож на xxxxx.server.topcloud.it, я хотел бы скрыть этот адрес из своих отправленных писем! Я могу просмотреть его по тегу: Получено: от multiformeingegno.com (xxxxxx.server.topcloud.it. [IPv4 ADDRESS]). Есть ли способ отображать только "multiformeingegno.com" как "полученный от"?

  2. На моем VPS я размещаю несколько сайтов. Как я могу изменить свое имя хоста /fqdn (поправьте меня, если я неправильно использую термины) в соответствии с доменом "в использовании"? Например, у меня есть контактная форма на моем сайте multiformeingegno.com и другая контактная форма на другом сайте example.com. Как я могу изменить "Return-path", "Received from" и т. Д. В зависимости от веб-сайта, который фактически отправляет письма? Это возможно?

3 ответа

Решение
  1. Этот заголовок добавляется MTA, который получает сообщение от вашего сервера. Он получает имя хоста topcloud.it путем обратного просмотра IP-адреса, с которого вы использовали соединение. Единственный способ изменить это имя хоста - заставить вашего хостинг-провайдера изменить запись PTR для вашего IP-адреса.
  2. Я не знаю конкретно о Exim, но почтовый сервер редко меняет свое объявленное имя хоста на основе отправляемого сообщения, поэтому я сомневаюсь, что вы можете сделать это.
  3. Return-Path определяется адресом From, поэтому это должно происходить автоматически.

У меня есть VPS, на котором размещены несколько доменов в Ubuntu 14.04, и я хотел, чтобы заголовки отправляемых писем включали только IP-адрес или полное доменное имя виртуального хоста.

Я впервые начал с этого руководства по Linode. После этого я выполнил следующие шаги:

Создайте файл - / etc / exim4 / mailhelo и, используя синтаксис domain.com: helodomain.com, создайте что-то вроде:

domain1.com: domain1.com
domain2.com: domain2.com
*: defaultdomain.com

Создайте файл - /etc/exim4/conf.d/01_custom_transport и вставьте добавьте следующее:

REMOTE_SMTP_HELO_DATA = ${lookup{$sender_address_domain}lsearch{/etc/exim4/mailhelo}{$value}{$primary_hostname}}

Отредактируйте файл - /etc/exim4/conf.d/30_exim4-config_remote_smtp и добавьте в конец файла следующее:

headers_remove = "received"

казнить

update-exim4.conf
service exim4 restart

Глядя на заголовки электронной почты веб-формы, нет никаких доказательств моего имени хоста VPS. Не забудьте создать запись SPF для виртуального хоста с вашим поставщиком DNS.

  1. Вы не можете скрыть адрес от отправленных писем по причине, описанной mgorven: он добавляется почтовым сервером, который получает почту, а не вашим почтовым сервером.
  2. Вы можете настроить exim для изменения его исходящего имени (то есть имени, используемого в EHLO/HELO), и, если у вас более одного внешнего IP-адреса, вы можете настроить exim для изменения того, какой исходящий IP-адрес он использует в транспорте.

Образец транспорта:

remote_smtp_forwarder:
  debug_print = "Transport: remote_smtp_forwarder for $local_part@$domain"
  driver = smtp
  max_rcpt = 10
  hosts_max_try = 2
  interface = 10.1.2.141
  helo_data = "out.forwarder.iv.ivenue.com"

В этом примере 10.1.2.141 является исходящим для NAT и будет подключаться к вашему почтовому серверу с out.forwarder.iv.ivenue.com (208.89.136.23), и он выдаст "EHLO out.forwarder.iv.ivenue"..com"на ваш почтовый сервер. Я жестко запрограммировал мой конкретный IP-адрес, но вы также можете использовать поиск, чтобы он определял интерфейс и helo_data, если хотите. Это зависит от того, сколько сложности вам нужно.

Другие вопросы по тегам