Программирование - это просто
Advertisement
Главная arrow Уроки программирования arrow Приемы, рецепты и полезные советы по C#. arrow Приемы, рецепты и полезные советы по C#. Урок 4. Посылаем почту через протокол SMTP (SmtpClient)
19.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Приемы, рецепты и полезные советы по C#. Урок 4. Посылаем почту через протокол SMTP (SmtpClient) Печать E-mail
Автор megabax   
19.04.2012 г.
В этой статье я постараюсь максимально просто и понятно изложить основы программирования на языке Delphi

Приемы, рецепты и полезные советы по C#. Урок 4. Посылаем почту через протокол SMTP (SmtpClient, MailMessage).

Сегодня мы изучим, как посылать почту средствами C# через протокол SMTP. Для этого на понадобиться пространства имен System.Net.Mail и System.Net, в которых содержаться необходимые классы. В частности, класс SmtpClient, NetworkCredential (который предназначен для отправки сведений авторизации), MailMessage - класс сообщений. Еще мы научимся прикладывать к письму файлы, классы для этого находятся в пространстве имен System.IO.

Вот исходный текст примера посыла письма через rambler.ru:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Net.Mail;

using System.Net;

using System.IO;

 

namespace WindowsFormsApplication1

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

 

        private void btnSendMail_Click(object sender, EventArgs e)

        {

            //Создаем объект почтового клиента

            var client = new SmtpClient("mail.rambler.ru", 25);

 

            //создаем объект класса NetworkCredential, который служит для предоставления учетных данных

            //для схем проверки подлинности

            var credential = new NetworkCredential("ваш логин", "ваш пароль");

            client.Credentials = credential;

 

            //включаем режим SSL (защищенное соединение)

            //сервер mail.rambler.ru требует такой режим

            client.EnableSsl = true;

 

            //создаем почтовое сообщение

            var message = new MailMessage("<адрес эл. почте откуда>", "<адрес эл. почты куда>", "Проверка связи","<font color=red>Привет</font>");

            message.IsBodyHtml = true;

 

            //задаем кодировку

            message.SubjectEncoding = Encoding.UTF8;

            message.BodyEncoding = Encoding.UTF8;

 

 

            //посылаем письмо в попытке исключении

            try

            {

                //подключаем вложенный файл

                var binary = File.ReadAllBytes("c:\\1\\1.txt");

                var stream = new MemoryStream(binary);

                var attachment = new Attachment(stream, "attachment_file.txt", "text/plain");

                message.Attachments.Add(attachment);

 

                //посылаем почту

                client.Send(message);

            }

            catch (Exception exc)

            {

                MessageBox.Show(exc.ToString());

            }

            finally

            {

                client.Dispose();

                MessageBox.Show("Письмо успешно отправлено");

            }

        }

    }

}

Места, где нужно вставить ваши персональные данные (логин, пароль, адрес электронной почты) выделен серым.

 

 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги