Поскольку Google Apps больше не являются бесплатными для малых предприятий / команд, мне остается указывать свои записи MX на моем сервере приложений. Я все равно хочу получать электронную почту на адрес Gmail, отправленную в домен, связанный с вышеупомянутыми записями MX.
Я посмотрел установку sendmail и настройку /etc/mail/virtusertable
содержать что-то вроде
@mydomain myemail@gmail.com
Я также посмотрел на установку postfix и изменение /etc/aliases
с участием
admin: myemail@gmail.com
team: myemail@gmail.com
...
В любом случае, когда я отправляю электронное письмо на адрес team@mydomain.com
электронные письма никогда не доходят до моего сервера приложений (например, /var/log/maillog
не показывает ничего добавленного) и определенно не возвращаюсь в мою учетную запись Gmail.
Я могу отказаться от postfix и / или sendmail в пользу другой альтернативы; Я просто хочу принять электронную почту на своем сервере приложений, который ничего не делает, кроме пересылки указанной электронной почты в учетную запись Gmail. Мне не нужны / не нужны реальные учетные записи электронной почты на сервере, и это единственный домен на сервере.
С 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
Включите свой виртуальный объект в карты псевдонимов:
virtual_alias_maps = hash:/etc/postfix/virtusertable
и последнее, но не менее важное: проверьте, действительно ли postfix получает запрос
dig mydomain.tld MX
и ваш домен и проверьте записи MX, чтобы они указывали на сервер postfix. Если вы просто изменили его сегодня / записи 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, который делает именно то, что вам нужно.