Отправить MIME-кодированный файл по электронной почте в C # - PullRequest
2 голосов
/ 14 января 2010

У меня проблема с тем, что у меня есть MIME-кодированный файл со всей необходимой почтовой информацией (тема, от, до, ...) и я хочу отправить его через определенный SMTP-сервер через C #.

Я посмотрел на класс MailMessage и искал решение, но не смог найти что-то подходящее. Вы можете мне помочь?

Спасибо, Matthias

Ответы [ 3 ]

0 голосов
/ 15 января 2010

Текущая версия стандартного .NET Framework не поддерживает его AFAIK. Однако вы найдете такую ​​функциональность в большинстве сторонних почтовых компонентов.

Следующий код использует нашу библиотеку Rebex Mail .

using Rebex.Net; // Smtp class
using Rebex.Mail; // contains the MailMessage and other classes 

// create an instance of MailMessage 
MailMessage message = new MailMessage();

// load the message from a local disk file 
message.Load("c:\\message.eml");

Smtp.Send(message, "smtp.example.org");

Код взят из Учебника по Rebex SMTP и Учебника по Rebex MailMessage .

0 голосов
/ 15 апреля 2010

Вы можете легко выполнить эту задачу, используя почтовый компонент Mail.dll :

IMail email = new CreateFromEmlFile("c:\\email.eml");

using(Smtp smtp = new Smtp())
{
    smtp.Connect("smtp.company.com");
    smtp.Ehlo(HeloType.EhloHelo, "Mail.dll");
    smtp.Login("user", "password");

    smtp.SendMessage(email);

    smtp.Close(false);
}

Обратите внимание, что Mail.dll - это коммерческий продукт, который я создал.

0 голосов
/ 15 января 2010

Одним словом "нет".

Вам нужно будет проанализировать файл, извлечь данные и установить различные свойства объекта MailMessage.

Если вы хотите создать или загрузить объект MailMessage из содержимого MIME, в Framework нет никакого способа сделать это изначально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...