2009-09-01 3 views
0

Мне нужно удалить заголовки SMTP из System.Net.Mail.MailMessage. В частности, берутся заголовки, содержащие информацию об окружающей среде MailMessage.Как программно удалить заголовки SMTP из System.Net.Mail.MailMessage?

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

Это можно сделать в .NET Framework 3.5 или мне нужна сторонняя библиотека SMTP?

Редактировать: Это то, что было предложено хостинговой компанией, на которой размещается веб-сайт, над которым я работаю. Они говорят, что это необходимо для защиты информации о макете внутренней сети.

Это вообще считается плохой практикой? Каковы потенциальные побочные эффекты?

+1

Похоже, это странная и несколько подозрительная цель. Можете ли вы дать больше информации о том, почему вы пытаетесь это сделать, и, возможно, кто-то тогда захочет помочь. – Lazarus

ответ

1

Можете ли вы указать свойство PickupDirectoryLocation (см. http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.pickupdirectorylocation.aspx) вместо использования IP-адреса SMTP? Затем прокрутите созданные письма, удалите элементы заголовка, а затем скопируйте их в входящий каталог SMTP? Вам нужно будет спросить свой веб-хост, можете ли вы скопировать файлы в их входящий каталог SMTP-сервера, чтобы узнать, могут ли они поддерживать этот метод.

Я могу несколько понять их проблемы, но я никогда не слышал об этом раньше. По крайней мере, не разработчик. Похоже, что их хозяин SMTP должен иметь возможность делать. Я мог предположить, что они хотели бы скрыть имя своих версий SMTP-хоста или почтового сервера и т. Д. Но я даже не знаю, возможно ли это сделать, потому что я всегда предполагал, что эти заголовки были добавлены хостом SMTP, а не любым кодом, который мы (как разработчики) напишем.

+0

Спасибо Джим В. Я буду исследовать дальше. –

0

Я сделал еще несколько тестов, и похоже, что соответствующие заголовки генерируются SMTP-сервером, а НЕ .NET Framework.

+1

Это то, что я всегда предполагал. Спасибо за подтверждение. –