Назад | Перейти на главную страницу

Почему Postfix доставляет почту локально, а не ретранслирует ее в Google Apps?

Я получаю следующую ошибку при попытке отправить электронное письмо на адрес электронной почты Google Apps admin@mydomain.com с моего сервера Postfix.

to =, relay = local, delay = 0.09, delay = 0.07 / 0/0 / 0.02, dsn = 5.1.1, status = bounced (неизвестный пользователь: "admin")

Есть ли способ заставить его не использовать ЛОКАЛЬНОЕ реле и лечить admin@mydomain.com как внешний адрес электронной почты и не искать пользователя в текущей конфигурации постфикса.

Я пытаюсь отправить по электронной почте полный адрес электронной почты «admin@mydomain.com», а не только «admin».

У меня есть MX-запись Google Apps на mydomain.com + запись SPF, которая раньше была:

v = spf1 включают: _spf.google.com ~ все (электронное письмо на адрес admin@mydomain.com, которое использовалось для работы с этой записью)

Но мне пришлось изменить его на v = spf1 a mx ip4: MY.IP.HERE include: _spf.google.com ~ all

Установить fallback_transport переменная для ретрансляции, таким образом он отправит его в Google или другой сервер, если он не найдет пользователя локально.

Если вы никогда не хотите, чтобы почта отправлялась локальному пользователю, измените переменная mydestination на localhost, таким образом он будет перенаправлять только локальные адреса электронной почты, заканчивающиеся на .localhost

Это будет выглядеть так в вашем main.cf файл:

mydestination = localhost.localdomain, localhost
fallback_transport = relay

Да, ты можешь. Не использовать admin как получатель. Используйте что-то «внешнее», например admin@mydomain.com.

Это работает, только если mydomain.com это не домен, настроенный в Postfix. Потому что Postfix считает, что все локально, когда вы настраивали его как локальное.

Вы должны предоставить НАМНОГО больше информации, чем «это не работает». Каковы ваши настроенные домены, узлы ретрансляции, транспортные карты, записи MX и т.п.?

Это могло быть просто внутри постфиксс main.cf у вас есть целевой домен электронной почты в списке. В этом примере мы предположим следующее:

  1. На этом сервере вы размещаете сайт example.com LAMP / LEMP.
  2. Что у вас есть онлайн-контактная форма (например, php), которая отправляет электронные письма на info@example.com (с info@example.com на info@example.com)
  3. Что ваши электронные письма example.com находятся на GSuite или другом сервисе. Не на этом сервере.

Симптомы: Если вы измените онлайн-форму, чтобы отправлять электронные письма на свой личный адрес электронной почты joe@foo.com, она будет работать нормально. Но на ваш почтовый ящик info@example.com ничего не приходит.

Средство: Убедитесь, что ваш почтовый домен указан в разделе "mydestination" в конфигурации postfix.

grep mydestination /etc/postfix/main.cf
mydestination = $myhostname, example.com, my.actual.hostname, localhost
-----------------------------^^^^^^^^^^^--------------------------------

vi /etc/postfix/main.cf
# removed example.com
mydestination = $myhostname, my.actual.hostname, localhost

service postfix reload

Это исправило это для меня! Надеюсь, это поможет тебе.