У меня есть домен example.com, настроенный следующим образом
Когда серверу нужно отправить мне электронное письмо, он использует Postfix для отправки письма через SMTP-серверы Google.
Это работает отлично, но сервер отправляет электронные письма как me@example.com
. Я установил псевдоним в Google Apps, чтобы разрешить me@example.com
также отправлять и получать почту как server@example.com
. Я хочу, чтобы postfix отправлял электронные письма как server@example.com
при входе на SMTP-сервер Google как me@example.com
. Простым решением было бы открыть другую учетную запись приложения для моего сервера, но это еще 5 долларов в месяц для небольшого хобби-проекта.
Итак, оказалось, что мне нужно было сделать две вещи, чтобы заставить его работать.
Во-первых, недостаточно просто создать псевдоним для адресов электронной почты в панели администратора Google Apps, скорее, важно также добавить дополнительный адрес в панель «Отправить почту как» на странице настроек в соответствии с ответом Алекса. Если вы этого не сделаете, Gmail переместит старый адрес в дополнительный заголовок и отправит с тем, на использование которого вы имеете право.
Во-вторых, Postfix должен быть настроен для использования smtp_generic_maps
. Это автоматически сопоставляет внутренние адреса с внешними в соответствии с файлом, указанным в /etc/postfix/main.cf
Если вы хотите, чтобы ваш сервер получал почту, вы также должны использовать canonical_maps
.
Конфигурация, которую я использовал, была предназначена для того, чтобы postfix отправлял все электронные письма всем пользователям как server@example.com
/etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
/ etc / postfix / generic:
root@example.com server@example.com
me@example.com server@example.com
@example.com server@example.com
@server-hostname server@example.com
@server-hostname.example.com server@example.com
Документы на http://www.postfix.org/ADDRESS_REWRITING_README.html#generic
Но это работает из коробки (за одним небольшим исключением, см. Ниже). no-reply@sys-adm.org.ua это псевдоним для основной учетной записи электронной почты alex.hha@sys-adm.org.ua
# echo "Hello world" | swaks -4 --server smtp.gmail.com:587 --from no-reply@sys-adm.org.ua \
--to alex.hha@gmail.com -tls --auth PLAIN --auth-user alex.hha@sys-adm.org.ua \
--auth-password 1234567 --h-Subject TEST --h-From: '"Do not reply" <no-reply@sys-adm.org.ua>' --body -
=== Trying smtp.gmail.com:587...
=== Connected to smtp.gmail.com.
<- 220 smtp.gmail.com ESMTP un6sm65521lbb.18 - gsmtp
-> EHLO svn.example.net
<- 250-smtp.gmail.com at your service, [77.122.73.151]
<- 250-SIZE 35882577
<- 250-8BITMIME
<- 250-STARTTLS
<- 250-ENHANCEDSTATUSCODES
<- 250-PIPELINING
<- 250-CHUNKING
<- 250 SMTPUTF8
-> STARTTLS
<- 220 2.0.0 Ready to start TLS
=== TLS started with cipher TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128
=== TLS no local certificate set
=== TLS peer DN="/C=US/ST=California/L=Mountain View/O=Google Inc/CN=smtp.gmail.com"
~> EHLO svn.example.net
<~ 250-smtp.gmail.com at your service, [77.122.73.151]
<~ 250-SIZE 35882577
<~ 250-8BITMIME
<~ 250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH
<~ 250-ENHANCEDSTATUSCODES
<~ 250-PIPELINING
<~ 250-CHUNKING
<~ 250 SMTPUTF8
~> AUTH PLAIN VhAEBMZXHN7cyxhAGFG0ub9JnLnZaGhfsuaGhhQhhLTEiNTU8Ng==
<~ 235 2.7.0 Accepted
~> MAIL FROM:<no-reply@sys-adm.org.ua>
<~ 250 2.1.0 OK un6sm65521lbb.18 - gsmtp
~> RCPT TO:<alex.hha@gmail.com>
<~ 250 2.1.5 OK un6sm65521lbb.18 - gsmtp
~> DATA
<~ 354 Go ahead un6sm65521lbb.18 - gsmtp
~> Date: Wed, 09 Mar 2016 21:15:09 +0000
~> To: alex.hha@gmail.com
~> From: "Do not reply" <no-reply@sys-adm.org.ua>
~> Subject: TEST
~> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
~>
~> Hello world
~>
~>
~> .
<~ 250 2.0.0 OK 1457558110 un6sm65521lbb.18 - gsmtp
~> QUIT
<~ 221 2.0.0 closing connection un6sm65521lbb.18 - gsmtp
=== Connection closed with remote host.
Исключение.
В заголовках вы по-прежнему можете видеть пользователя-отправителя (Отправитель: Алексей Доморадов)
Return-Path: <no-reply@sys-adm.org.ua>
Received: from svn.example.net ([77.122.73.151])
by smtp.gmail.com with ESMTPSA id un6sm65521lbb.18.2016.03.09.13.15.10
for <alex.hha@gmail.com>
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Wed, 09 Mar 2016 13:15:10 -0800 (PST)
Message-ID: <56e0925e.2697700a.37e97.066f@mx.google.com>
Sender: Alex Domoradov <alex.hha@sys-adm.org.ua>
Date: Wed, 09 Mar 2016 21:15:09 +0000
To: alex.hha@gmail.com
From: "Do not reply" <no-reply@sys-adm.org.ua>
Subject: TEST
X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/
Hello world
P.S. вы должны добавить псевдоним на странице настроек учетной записи