Вы используете немного неправильный подход.Простой протокол пересылки почты ( RFC 2821 ) гласит:
Система SMTP, отправляющая сообщения, НЕ ДОЛЖНА отправлять сообщение, которое
уже содержит заголовок Return-path.SMTP-серверы, выполняющие функцию ретрансляции
, НЕ ДОЛЖНЫ проверять данные сообщения, и особенно не
в той степени, которая необходима для определения наличия заголовков обратного пути.
Если вы хотите, чтобы ваше сообщениечтобы быть возвращенным по адресу, отличному от адреса, указанного в поле From:
, адрес должен быть установлен в SMTP-сообщении envelope , а не в сообщении header .Вы можете добиться этого, установив свойство Sender
:
MailMessage msg = new MailMessage();
msg.Sender = new MailAddress("not-deliviered@sample.org", "Sam1");