2010-03-04 3 views
5

Я только что слышал Joel & Джефф говорит о идентификаторе отправителя в своем подкасте номер 83, и мне пришло в голову, что это именно то, что мне нужно для сайта, над которым я работаю.Как реализовать идентификатор отправителя при отправке писем через C#?

Приблизительно 90% всех сообщений электронной почты, отправленных с сервера, отскакивают или аналогичны, вероятно, потому что сервер не «проверен».

У меня есть запись SPF для сервера, но это тоже в значительной степени.

Так как StackOverflow решил эти проблемы, я предполагаю, что идентификатор отправителя должен быть в порядке.

Насколько я могу судить по википедии, вам необходимо изменить почтовый заголовок при отправке писем - как я могу это сделать с C#?

Также, что мне нужно, чтобы настроить DNS мудрый и т. Д., Чтобы сделать эту работу?

Или я на совершенно неправильный трек здесь?

Редактировать: Я использую стандартный класс SmtpClient в C# для отправки писем, и я включаю как открытый текст, так и HTML-версию почтового ящика.

+0

Вы добавили spf в DNS-конфигурацию своих доменов? – curtisk

+0

Да, эта часть в порядке :-) – Steffen

ответ

4

Если вы отправляете почту от имени другого пользователя, и вы хотите, чтобы это было принято у вас, возможно, потребуется сделать следующее:

В вашем MailMessage объекта:

mail.To = new MailAddress("[email protected]", "To Someone"); 
mail.From = new MailAddress("[email protected]", "Sending User"); 
mail.Sender = new MailAddress("[email protected]", "Your Server"); 
mail.ReplyTo = new MailAddress("[email protected]", "Sending User"); 

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

От: Ваш сервер от имени Отправка пользователя
To: Кому-

Большинство протоколов SPF проверит Sender: заголовок, чтобы определить, если отправка домена разрешает или опровергает его, поэтому это должно происходить из вашего домена, независимо от того, кто вы его отправляете «от».

Кроме того, вы можете дважды проверить, что у вас есть your SPF records set up right и что ваши IP-адреса (адреса) не указаны на blacklist, таких как spamhaus. Проверка фактического возвращаемого текста вызова обычно говорит вам, почему он блокируется с ошибкой 5.something.

+0

У меня нет части отправителя в моем коде, чтобы это могло немного помочь. Также я проверю вашу ссылку на записи SPF и убедитесь, что у меня все получилось. Благодаря :-) – Steffen

2

Я не понимаю, почему вам нужно внести изменения в заголовок для Sender ID/SPF. С вашей записью вам просто нужно убедиться, что ваши исходящие сообщения: From: домен, который имеет соответствующий опубликованный IP-адрес отправки (общедоступный) в вашей записи SPF в DNS.

Однако, я думаю, вы могли бы изучить MailMessage.Headers, чтобы узнать, какие заголовки отправляются (или отправлять сообщения самому себе), чтобы определить на основе вашего типа записи SPF, как получающие почтовые серверы будут вычислять домен для соответствия к вашей записи SPF.

Смежные вопросы