Как установить адрес возврата, используя System.Net.Mail? - PullRequest
2 голосов
/ 16 января 2010

Я пытаюсь внедрить метод путь возврата конверта переменной (VERP) для управления адресами электронной почты (т. Е. Когда отправляемое письмо возвращается, я хочу, чтобы оно было отправлено на определенный адрес электронной почты, чтобы Я могу обновить свою базу данных, чтобы не отправлять электронные письма на этот адрес электронной почты в будущем).

В соответствии с этой статьей можно указать адрес электронной почты, на который отправляется отказавшее письмо. Как вы делаете это в .Net?

Например, скажите, что я (me@myserver.com) хочу отправить вам электронное письмо (you@yourserver.com). Если you@yourserver.com больше не существует, я хочу, чтобы ваш сервер отправлял электронное сообщение о bounce на bounce-you=yourserver.com@myserver.com). Таким образом, когда я получаю это отклоненное письмо, я знаю, что you@yourserver.com больше не является действительным адресом электронной почты, и я могу соответствующим образом обновить свою базу данных.

В этом примере адрес возврата будет: bounce-you=yourserver.com@myserver.com
Как вы указываете это с помощью System.Net.Mail?

1 Ответ

3 голосов
/ 17 января 2010

Суть в том, что вы не можете сделать это в .NET. Вы можете установить только адрес FROM, который System.Net.Mail также будет использовать в качестве конверта.

Чтобы сделать что-то подобное, вам нужно использовать сторонний SMTP-объект, подобный тому, который я написал:

http://www.aspnetemail.com

В aspNetEmail вы можете сделать что-то вроде:

EmailMessage msg = new EmailMessage();
msg.ReversePath = "bounceEmailAccountHere@whatever.com

aspNetEmail будет использовать значение ReversePath в команде MAIL FROM во время сеанса SMTP. Я мог бы легко вызвать это свойство «ReturnPath» или «EnvelopeFrom». В ретроспективе, EnvelopeFrom было бы лучшим именем.

...