Простой пример: C# отправка почты
Сегодня мы поговорим о том, как отправить email, используя язык программирования C#. В .Net FrameWork, начиная с версии 1.1, есть встроенные средства по отправке писем. Классы по работе с email находятся в пространстве имен System.Net.Mail. Они реализуют такие полезные функции, как:
В данной статье рассмотрим основные классы работы с mail и напишем небольшой код отправки письма C# mail send. В качестве SMTP-сервера будем использовать сервер GMail. Он использует SSL протокол, обеспечивающий безопасный способ соединения между клиентом и сервером. В C# отправка почты в основном реализуется двумя классами: MailMessage и SmtpClient. MailMessage содержит сведения о заголовке и теле письма, отправителе и получателях. SmtpClient хранит информацию об SMTP-сервере: хост, порт, наличие SSL и т.д. C# mail send Рассмотрим основные классы работы с письмами в C#. Пространство имен System.Net.Mail содержит несколько нужных нам классов: MailMessage Основной класс работы с письмами в .Net Framework. Мы будем использовать следующие свойства класса: From: адрес отправителя в виде экземпляра класса MailAddress; To: коллекция адресов получателей; Subject: тема или заголовок письма типа String; Body: Тело письма, т.е. само сообщение; Attachments: коллекция присоединенных к письму файлов. При необходимости вложить в письмо файл, нужно добавить его Attachment в список присоединенных файлов Attachments. SmtpClient Позволяет отправлять email по протоколу SMTP (Simple Mail Transfer Protocol). Воспользуемся SMTP-сервером от Google smtp.gmail.com. Нам понадобятся следующие свойства класса: Host: имя SMTP-сервера для отправки email; Port: порт, используемый для SMTP-транзакций. По умолчанию равен 25, что соответствует незашифрованному каналу. Google свои каналы шифрует, поэтому мы будет использовать порт 587; EnableSsl: показывает, используется ли SSL протокол для шифрования трафика. Google требует протокол SSL, поэтому установим это свойство в True; Credentials: предоставляет учетные данные для проверки подлинности на основе пароля; DeliveryMethod: метод обработки исходящих сообщений электронной почты. У нас этот параметр будет равен SmtpDeliveryMethod.Network, что означает передачу email по сети на SMTP-сервер. Мы будем использовать метод Send для отправки нашего письма на SMTP-сервер для дальнейшей доставки. Attachment Класс Attachment реализует присоединение файла к письму. Если хотите переслать файл, нужно добавить Attachment вашего файла в список MailMessage.Attachments. В качестве параметра в класс Attachment можно передать имя файла или его Stream. При отправке письма с присоединенным файлом желательно сжимать его в архив. Это увеличит скорость передачи. К тому же, если передать в одном письме тысячи файлов по отдельности, то получатель увидит не очень приятное зрелище: огромный список присоединенных файлов. Я использую для сжатия бесплатный архиватор 7-zip. Здесь можно посмотреть пример добавления в архив 7-zip на C#. Пример: c# отправка почты Не забываем подключить сборку System.Net.Mail. На C# отправка почты сводится к нескольким строчкам кода:
Пример вызова C# mail send: SendMail("smtp.gmail.com", "mymail@gmail.com", "myPassword", "yourmail@gmail.com", "Тема письма", "Тело письма", "C:\\1.txt"); |
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам зарегистрироваться либо зайти на сайт под своим именем.