У меня есть несколько серверов / рабочих столов ubuntu, работающих на одном компьютере с использованием kvm (под сервером ubuntu 12.04)
С помощью postfix на каждой виртуальной машине я перенаправлял почту каждого корневого пользователя в свою учетную запись gmail.
Все отлично работает,
Проблема заключается в том, что некоторые демоны отправляют уведомления без указания имени машины. Итак, когда я получаю письмо, я не знаю, какая виртуальная машина его отправила.
Есть ли способ с помощью postfix conf добавить пользовательский текст, например "asterisk_server:" перед темой, чтобы идентифицировать компьютер из отправленного электронного письма?
Большое спасибо
Ваша посылка неверна: это не postfix или машина, которая отправляет электронную почту без идентификации информации хоста; это процесс отправки почты.
Тем не менее, не все процессы могут правильно установить имя хоста при отправке; для таких несовместимых клиентов установите myorigin
с достойной ценностью для вашей среды и добавьте
append_at_myorigin = yes
в main.cf.
Например, если каждый экземпляр постфикса виртуальной машины имеет myorigin = $ myhostname, это преобразует ЛЮБЫЕ адреса без информации о хосте или домене в user @ $ myhostname. Это однозначно идентифицирует отправителя и получателя.
ОДНАКО, каждая виртуальная машина не нуждается в запуске postfix, и по правде говоря, вероятно не должна запустите postfix.
Вместо этого настройте нулевого клиента для отправки почты в один MSA (который может быть постфиксным) и обрабатывать всю почту на одном централизованном сервере.
Вы можете попробовать что-нибудь в этом роде:
default_database_type = cdb
indexed = ${default_database_type}:${config_directory}/
smtp_generic_maps = ${indexed}generic
generic:
# Expose which root sent the mail
root root+<hostname>
Обратите внимание, что я не пробовал этого, так как я не выставляю пользователя root в своих настройках.
Я бы попробовал header_checks с REPLACE Subject