Как я (просто) пересылаю всю входящую электронную почту на внешний адрес (например, Gmail)?
Поскольку Службы Google больше не являются бесплатными для малых предприятий / групп, я оставляю свои записи MX на сервере приложений. Я все еще хотел бы получать электронную почту на адрес Gmail, отправленный на домен, связанный с вышеупомянутыми записями MX.
Я смотрел на установку sendmail и настройку /etc/mail/virtusertable
содержать что-то вроде
@mydomain myemail@gmail.com
Я также посмотрел на установку постфикса и модификации /etc/aliases
с
admin: myemail@gmail.com
team: myemail@gmail.com
...
Независимо от того, когда я отправляю письмо на team@mydomain.com
кажется, что электронные письма никогда не попадают на мой сервер приложений (например, /var/log/maillog
не показывает ничего добавленного), и определенно не возвращайтесь в мою учетную запись Gmail.
Я нормально отбрасываю postfix и / или sendmail для другой альтернативы; Я просто хочу принять электронную почту на моем сервере приложений, которая не делает ничего, кроме пересылки указанной электронной почты в учетную запись Gmail. Мне не нужны / не нужны реальные почтовые учетные записи на сервере, и это единственный домен на сервере.
4 ответа
С sendmail вам нужно добавить что-то вроде этого в конце /etc/mail/sendmail.mc
:
LOCAL_CONFIG
Kuser user -m -a.FOUND
LOCAL_RULE_0
R$- < @ $=w . > $* $: $(user $1 $) < @ $2 . > $3
R$- . FOUND < @ $=w . > $* $@ username < @ gmail.com. > $3
Это перешло бы любое электронное письмо, направленное пользователю системы (перечислены в /etc/passwd
) на ваше имя пользователя@gmail.com. Помните, что левая часть правил отделена от правой части правил с помощью табуляций, а не пробелов. Так что не копируйте вставить, введите вместо этого вышеупомянутые правила. После этого вам нужно запустить /etc/mail/make
строить sendmail.cf
а также service sendmail restart
для того, чтобы изменения произошли.
С помощью sendmail вы можете добавить что-то вроде этого в ваш /etc/mail/sendmail.mc:
define(`LUSER_RELAY',`error:550 User unknown')
define(`MAIL_HUB',`esmtp:username@gmail.com')
Он должен отклонять электронные письма неизвестным локальным пользователям после (LUSER_RELAY) и отправлять сообщения на оставшийся локальный адрес электронной почты по адресу username@gmail.com (MAIL_HUB). Применяется после раскрытия псевдонима и обработки файла ~/.forward.
ПРЕДУПРЕЖДЕНИЯ:
- Метод не будет обрабатывать отклонения по электронной почте, например, вызванные процедурой защиты от спама.
- НЕ используйте рецепт с
FEATURE(stickyhost)
- Выкладываю в основном как альтернативу обычаю
R
линейные решения.
Если в ваших журналах постфикса ничего не появляется, похоже, что ваш сервер не получает входящее соединение, потому что не чувствует ответственности за домен, на который вы хотите отправить почту.
Виртуальные таблицы пользователей и доменов - хорошее начало, но убедитесь, что postfix чувствует себя ответственным за добавление домена в "mydestination" следующим образом:
mydestination = localhost, mydomain.tld, mail.mydomain.tld
Не забудьте сначала его хешировать:
postmap /etc/postfix/virtusertable
Включите ваш virtusertable в карты псевдонимов:
virtual_alias_maps = hash:/etc/postfix/virtusertable
и наконец, что не менее важно, проверьте, что postfix фактически получает запрос
dig mydomain.tld MX
и ваш домен и проверьте записи MX, чтобы они указывали на постфиксный сервер. Если вы только что изменили его сегодня / MX DNS-записи, это может занять до 24 часов, прежде чем изменения станут видимыми из-за кэширования DNS на вашем DNS, DNS-сервере вашего провайдера или других DNS-серверах серверов, которые отправляют почту на mydomain.tld
Для начала вам нужно получить работающую установку postfix или sendmail на вашем сервере, что очень неприятно. Однако пересылка электронной почты на postfix после того, как вы его запустите и запустите, является простым процессом.
http://www.howtoforge.com/how-to-relay-email-on-a-postfix-server
На самом деле я использую сервер postfix/dovecot, который делает именно то, что вам нужно.