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

Отправлять исходящую почту Postfix через псевдоним Google Apps

У меня есть домен 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. вы должны добавить псевдоним на странице настроек учетной записи