(Я разместил это в Superuser, но понял, что здесь, вероятно, лучше справиться)
Недавно я установил на работе сервер разработки, чтобы протестировать определенные функции. Я настраиваю exim4 как MTA для сервера. Однако, когда я тестирую и отправляю электронные письма в свою учетную запись на сервере, даже если у меня есть несколько записей в /etc/aliases
он отправляет только на один из адресов электронной почты.
Запись моя /etc/aliases
файл:
joshua: **@gmail.com, **@apps.gmail.com
Ниже приведен вывод tail /var/log/exim4/mainlog
. Я изменил адреса электронной почты, но остальные данные остались прежними. **@gmail.com
это моя обычная учетная запись Gmail, **@apps.gmail.com
это учетная запись Google Apps для моей работы, и account@this.server
это доменное имя сервера.
2013-02-04 02:39:55 1U2Geh-0000aO-LZ DKIM: d=gmail.com s=20120113 c=relaxed/relaxed a=rsa-sha256 [verification succeeded]
2013-02-04 02:39:55 1U2Geh-0000aO-LZ <= **@gmail.com H=mail-wi0-f179.google.com [209.85.212.179] P=esmtp S=1757 id=CAM+SEUAx2UK8cDKe-MO22maib0at4kO=J+tQniEy=rxmPpbgjg@mail.gmail.com
2013-02-04 02:39:56 1U2Geh-0000aO-LZ => **@apps.gmail.com <account@this.server> R=dnslookup T=remote_smtp H=aspmx.l.google.com [2607:f8b0:4002:c04::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
2013-02-04 02:39:56 1U2Geh-0000aO-LZ => **@gmail.com <account@this.server> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:4002:c02::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
2013-02-04 02:39:56 1U2Geh-0000aO-LZ Completed
Когда я отправляю тестовое электронное письмо, оно отправляется на адрес электронной почты моего приложения, но не на адрес Gmail.
Я подумал, что это может быть проблема с exim4
не отправлять на несколько адресов электронной почты, поэтому я изменил /etc/aliases
файл, чтобы отражать только мои **@gmail.com
адрес электронной почты, но его также не удалось отправить, хотя в mainlog
.
Я также протестировал, могу ли я отправлять электронные письма прямо на мою учетную запись Gmail. Я выполнил команду
echo "Test" | mail -s "Subject" "**@gmail.com"
и это удалось.
Обычно, когда я отправляю электронное письмо на адрес joshua@this.server
он успешно отправляет электронное письмо на **@apps.gmail.com
но нет **@gmail.com
. Однако, когда я отправляю электронное письмо прямо на **@gmail.com
это проходит. Любые идеи?
ОБНОВЛЕНИЕ: я возился с /etc/sudoers.d
и случайно создали недопустимый файл, и sudo
не будет работать, пока я не исправлю это. Я настроил sudo
отправлять электронные письма при возникновении ошибок. Когда произошла ошибка, он отправил электронное письмо на адрес root@this.server
который отправил электронное письмо на мой адрес электронной почты. Я протестировал, отправив электронное письмо прямо на root@this.server
но он все еще не отправлялся на мой адрес электронной почты. Здесь mainlog
2013-02-04 10:13:39 1U2Njn-0000gc-UB <= joshua@this.server U=joshua P=local S=572
2013-02-04 10:13:40 1U2Njn-0000gc-UB => **@gmail.com <root@this.server> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:4002:c04::1a] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
2013-02-04 10:13:40 1U2Njn-0000gc-UB Completed
2013-02-04 10:23:10 1U2Nt0-0000gz-Kz DKIM: d=gmail.com s=20120113 c=relaxed/relaxed a=rsa-sha256 [verification succeeded]
2013-02-04 10:23:10 1U2Nt0-0000gz-Kz <= **@gmail.com H=mail-we0-f171.google.com [74.125.82.171] P=esmtp S=1737 id=CAM+SEUDYoGWBb1btq_WQ9gRcWbvoSOoBhr2XrA=8QPbCsreLSg@mail.gmail.com
2013-02-04 10:23:11 1U2Nt0-0000gz-Kz => **@gmail.com <root@this.server> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:4002:c04::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
2013-02-04 10:23:11 1U2Nt0-0000gz-Kz Completed
Первая запись - это электронное письмо, которое было отправлено правильно (когда я пытался выполнить sudo с недопустимым файлом sudoers.d), а вторая запись - это тестовое электронное письмо, которое я отправил на root@this.server
.
ОБНОВЛЕНИЕ 2: это заголовки, которые я получаю, когда получаю успешное электронное письмо на мою учетную запись Gmail:
Delivered-To: **@gmail.com
Received: by 10.216.72.209 with SMTP id t59csp48841wed;
Mon, 4 Feb 2013 07:34:59 -0800 (PST)
X-Received: by 10.101.175.18 with SMTP id c18mr7560000anp.3.1359992098647;
Mon, 04 Feb 2013 07:34:58 -0800 (PST)
Return-Path: <joshua@this.server>
Received: from this.server ([2607:fe50:0:6200:206:5bff:fefc:6123])
by mx.google.com with ESMTPS id i16si8003851anl.12.2013.02.04.07.34.58
(version=TLSv1.2 cipher=RC4-SHA bits=128/128);
Mon, 04 Feb 2013 07:34:58 -0800 (PST)
Received-SPF: neutral (google.com: 2607:fe50:0:6200:206:5bff:fefc:6123 is neither permitted nor denied by best guess record for domain of joshua@this.server) client-ip=2607:fe50:0:6200:206:5bff:fefc:6123;
Authentication-Results: mx.google.com;
spf=neutral (google.com: 2607:fe50:0:6200:206:5bff:fefc:6123 is neither permitted nor denied by best guess record for domain of joshua@this.server) smtp.mail=joshua@kenya.acomp.usf.edu
Received: from joshua by this.server with local (Exim 4.80)
(envelope-from <joshua@this.server>)
id 1U2O4i-0000hR-Je
for root@this.server; Mon, 04 Feb 2013 10:35:16 -0500
To: root@this.server
Auto-Submitted: auto-generated
Ваш журнал Exim, кажется, указывает, что почта была правильно отправлена на адрес ** gmail.com:
2013-02-04 02:39:56 1U2Geh-0000aO-LZ => **@gmail.com <account@this.server> R=dnslookup T=remote_smtp H=gmail-smtp-in.l.google.com [2607:f8b0:4002:c02::1b] X=TLS1.2:RSA_ARCFOUR_SHA1:128 DN="C=US,ST=California,L=Mountain View,O=Google Inc,CN=mx.google.com"
Вы смотрели в Exim Reject журнал тоже? Хотя вряд ли там что-нибудь будет, если в основном журнале не будет никаких сбоев.
Обычно в таких ситуациях, если в почтовом журнале нет указаний на сбой в доставке сообщений, действительно сложно устранить неполадки на стороне сервера. В этих случаях почти всегда возникает проблема с тем, что принимающий сервер по той или иной причине отклоняет сообщение. Я довольно часто видел, как это происходило с Gmail. Мои рекомендации:
exim -bp
Есть ли у вашего домена SPF запись настроить? Если нет, я определенно рекомендую это сделать.
Вы можете проверить, находится ли ваш IP-адрес в черном списке (мне нравится использовать MXtoolbox). Однако это не гарантирует что-либо исправление, поскольку Google не публикует, какие черные списки они используют (и я считаю, что они все равно сохраняют частные).
В частности, Gmail не всегда ладит с пересылкой электронной почты. Альтернативой является пересылка вашего псевдонима электронной почты в Gmail, настройка этой учетной записи Gmail для получения электронной почты по протоколу POP. Вы можете сделать это следующим образом:
Gmail -> Gear -> Настройки -> Учетные записи -> Добавьте свой почтовый аккаунт POP3.
Извините, я не могу предложить большего. Я сталкивался с подобными проблемами десятки раз, и это единственное, что когда-либо помогало. Если на стороне сервера нет никаких указаний на ошибку, то действительно сложно понять проблему, если у вас также нет доступа к принимающему серверу. (И поскольку это Google, от их стороны никакой помощи не будет.)
Проблема заключалась в том, что Тодд Лайонс заявил в комментариях: это произошло из-за того, что Gmail дедуплицирует электронные письма, отправленные с того же адреса электронной почты. Когда я отправлял электронные письма, они отправлялись прямо как мое собственное электронное письмо, а когда оно отправлялось обратно в мой Gmail, оно было удалено, поскольку это могло быть дубликатом.