В данной статье мы посмотрим, как можно отправить email при помощи SMTP протокола.
Программный код:
using System.Net; using System.Net.Mail; namespace EmailSender { class Program { static void Main(string[] args) { // получаем SmtpClient SmtpClient smtpClient = GetSmtpClient(); // получаем сообщение MailMessage mailMessage = GetMailMessage(); // отправляем сообщение smtpClient.Send(mailMessage); } private static MailMessage GetMailMessage() { // создаём объект сообщения MailMessage mailMessage = new MailMessage(); // указываем, от кого отсылается сообщение mailMessage.From = new MailAddress("from@yandex.ru"); // указываем, кому отправляется сообщение mailMessage.To.Add(new MailAddress("to@example.com")); // указываем, кому необходимо отослать копию сообщения mailMessage.CC.Add(new MailAddress("cc@example.com")); // указываем, кому необходимо отправить скрытую копию сообщения mailMessage.Bcc.Add(new MailAddress("bcc@example.com")); // указываем тему сообщения mailMessage.Subject = "Заголовок"; // указываем текст сообщения mailMessage.Body = "Текст сообщения"; // добавляем вложение mailMessage.Attachments.Add(new Attachment(@"C:\\test.txt")); return mailMessage; } private static SmtpClient GetSmtpClient() { // создаём объект SmtpClient SmtpClient smtpClient = new SmtpClient(); // указываем адрес используемого SMTP сервера smtpClient.Host = "smtp.yandex.ru"; // указываем, что необходимо использовать SSL smtpClient.EnableSsl = true; // задаём используемый порт smtpClient.Port = 587; // указываем логин и пароль аккаунта, который используется // для доступа к SMTP серверу smtpClient.Credentials = new NetworkCredential("test@yandex.ru", "password"); return smtpClient; } } }
Использование html контента в письме:
// указываем текст сообщения mailMessage.Body = "<a href='progtask.ru'>Блог</a>"; // указываем, что текст сообщения представлен в виде html mailMessage.IsBodyHtml = true;