Решения для отправки электронного письма в формате HTML, где HTML берется из HTML-файла.VB.Net/ClickOnce окружающая среда
Вопрос
Использование:
Пользователи создают красивые новостные письма в формате HTML в другом приложении.Они размещают новостную рассылку в Интернете, но они также хотят установить содержимое HTML-файла новостного письма в качестве тела электронного письма и отправить его с помощью Aдополнение Яn Qустрашение.
Пользователи понимают, что при отправке электронной рассылки необходимо использовать абсолютные ссылки на ссылки и изображения.
Окружающая среда:
AIQ является VB.Сетевое приложение, развернутое через ClickOnce.Это приложение для внутренней сети;можно быть уверенным, что MS Office 2003 и библиотеки DLL interop 11 находятся на целевых компьютерах.
Ограничения:
МАПИ вышел из игры. Это искажает HTML-код.
Поскольку это развертывание ClickOnce, мы не можем зарегистрировать библиотеки dll (я думаю, поправьте меня, если я ошибаюсь).Следовательно, CDO и COM недоступны (опять же, я могу ошибаться....Я был бы рад, если бы мне это доказали).
Решение
Я не совсем понимаю, о чем вы просите.Если вы спрашиваете о том, как отправить электронное письмо, .NET Framework включает пространство имен System.Net.Mail для отправки электронной почты через SMTP.
Вы можете создать новый SmtpClient
.Если он развернут в локальной сети, то вы можете установить Host
свойство для сервера Exchange или другого SMTP-сервера.
Затем вы можете создать MailMessage
с телом, заданным в качестве HTML-содержимого для отправки.
Вот пример:
//create the mail message
MailMessage mail = new MailMessage();
//set the addresses
mail.From = new MailAddress("me@mycompany.com");
mail.To.Add("you@yourcompany.com");
//set the content
mail.Subject = "This is an email";
mail.Body = "this is a sample body with html in it. <b>This is bold</b> <font color=#336699>This is blue</font>";
mail.IsBodyHtml = true;
//send the message
SmtpClient smtp = new SmtpClient("127.0.0.1");
smtp.Send(mail);