KostyeFromHelen |
17. Отправить письмо на C# |
28.12.2011 09:26:58 | |
Напишем программку, которая будет отправлять письмо на почтовый ящик. Для этого нам понадобится следующая ссылка на сборку: using System.Net.Mail; И для того, чтобы можно было использовать потоки: using System.Threading; Напишу вам код, который я использовал на одном сайте. Письмо отправлялось пользователю, когда он добавлял статью на сайт, а так же отправлялось мне, чтобы я знал, что на сайт кто-то добавил статью. string mailBody = string.Format("Здравсвуйте {0}, вы добавили статью на сайт Земля для тебя! За что мы вас благодарим. Если ваша статья проходит по требованиям, то вскором времени вы сможете увидеть её на нашем сайте. Спасибо!", author); // это текст письма. Ничего необычного. Переменная author = TextBox1.Text; String smtpHost = "SMTP.mail.RU"; //Адрес SMTP-сервера. Я использовал smtp сервер mail.ru int smtpPort = 25; //Порт SMTP-сервера. Стандартный для mail.ru String smtpUserName = "****@mail.ru"; //Логин. Моя ящик, от лица которого будет приходить письмо. String smtpUserPass = "*******"; //Пароль к моему ящику. SmtpClient client = new SmtpClient(smtpHost, smtpPort);//Создание подключения client.Credentials = new NetworkCredential(smtpUserName, smtpUserPass); //Дословно - удостоверение личности. Мол подходит ли пароль к ящику и так далее. String msgFrom = "*****@mail.ru"; //Адрес для поля "От" String msgTo = email; //Адрес для поля "Кому" (адрес получателя). Переменная email, это тоже textbox, где написал ящик автора. String msgSubject = "Спасибо за статью!"; //Тема письма String msgBody = mailBody; //Текст письма, который писали выше(для удобства) MailMessage message = new MailMessage(msgFrom, msgTo, msgSubject, msgBody); //Создание сообщения автору. MailMessage message2 = new MailMessage(msgFrom, msgFrom, "Добавлена статья", "На earth4you.ru добавлена статья"); //Создание сообщение самому себе, чтобы узнать, что кто-то добавил статью. try { //Отсылаем сообщение, если всё удачно. client.Send(message); Thread.Sleep(1000); // Между сообщениями ждём 1 секунду client.Send(message2); } catch { Label2.Text = "Письмо не отправлено."; //Если по каким-то причинам произошёл сбой. }
Вот и всё, ничего сложного. Куда сложнее отправлять письма напрямую через прокси :)
Теги: письмо на C# | C# | smtpmail Просмотров: 6137 | Подробнее... |