Gmail не позволяет отправителю задавать значение обратного пути для получения сообщений о возврате?

Я использую Swift Mailer для проверки возвращенных сообщений. Я создал одну отдельную учетную запись для сообщений о возврате, однако, когда я устанавливаю обратный путь, он не позволяет отправлять сообщения о возврате на эту учетную запись. Это нормально или это ошибка кода?

$verp = 'bounces-' . str_replace('@', '=', $row['ReplyTo']) . '@gmail.com';

$message = Swift_Message::newInstance()
  ->setSubject($row['Subject'])
  ->setFrom(array($row['ReplyTo'] => $row['FromName']))
  ->setReturnPath($verp)
  ->setBody($html, 'text/html')
  ->addPart($txt, 'text/plain');

Я сейчас использую VERP, кажется, это для того, чтобы найти ошибку доставки? Но не для отправки сообщения на учетную запись отказной почты?


person Leo Chan    schedule 29.03.2012    source источник


Ответы (2)


Да, это нормально. При отправке электронной почты через SMTP-серверы Gmail в качестве обратного пути будет указана учетная запись, с которой вы отправляете письмо.

Ваше единственное решение — искать провайдера, который позволяет вам установить обратный путь.

person F21    schedule 29.03.2012
comment
Спасибо, хотя это не позволяет, но в шапке есть два пути возврата. То же самое для других провайдеров, если нет, как я могу использовать verp? ( Verp предназначен для проверки ошибочно полученной почты, он использует обратный путь, но обратный путь - это адрес для отправки возврата, как они могут сосуществовать? Спасибо) - person Leo Chan; 29.03.2012
comment
Другие провайдеры (особенно провайдеры массовой рассылки, такие как mail chimp и т. д.) должны позволять вам устанавливать обратный путь. Тем не менее, лучше протестировать их перед фиксацией. Чтобы VERP работал, вы можете просто настроить его на использование учетной записи, отправляющей электронное письмо, для получения отказов? - person F21; 29.03.2012
comment
просто установите его, чтобы использовать учетную запись, отправляющую электронную почту, для получения отказов. ‹==В этом есть проблема, потому что получатель может ответить мне и отправить почту на этот аккаунт. - person Leo Chan; 29.03.2012
comment
Одним из возможных решений может быть установка заголовка reply-to, на который получатели должны отвечать. Но очевидно, что обратный путь создан для отказов. В таком случае я рекомендую изучить альтернативный провайдер электронной почты. - person F21; 29.03.2012

Это не проблема Gmail, это требование спецификации SMTP, как определено в RFC 5321, раздел 4.4. :

Системе SMTP, отправляющей сообщение, НЕ СЛЕДУЕТ отправлять сообщение, которое уже содержит поле заголовка Return-path.

В нем также говорится, что, хотя SMTP-системы вообще не должны проверять содержимое сообщения (т. е. они не смотрят на заголовки), шлюз из другого контекста в SMTP ДОЛЖЕН удалить любой заголовок обратного пути. Короче говоря, если вы сами добавляете заголовок return-path, вы делаете это неправильно.

Заголовок обратного пути, который вы видите в полученном сообщении, создается получателем, не отправителем, и является производным от команды SMTP MAIL FROM, используемой для доставки сообщения. Этот адрес не обязательно должен иметь что-либо общее с заголовком адреса отправителя в сообщении и указывает, куда должно быть отправлено сообщение в случае сбоя доставки, то есть именно то, для чего вам нужен адрес VERP.

Я не знаю о SwiftMailer, но в PHPMailer вы можете установить значение отправителя конверта SMTP, установив свойство Sender, и получатель преобразует его в заголовок сообщения обратного пути при получении.

person Synchro    schedule 07.09.2016