Клас smtpclient ()

Створення та надсилання повідомлення електронної пошти за допомогою SmtpClient. необхідно вказати наступну інформацію:

Сервер-хост SMTP, використовуваний для відправки електронної пошти. У розділі Host і Port Властивості.

Облікові дані для перевірки автентичності, якщо це потрібно для SMTP-сервера. Див. Властивість Credentials.

Вміст повідомлення. У розділі Send і SendAsync методів, які приймають body параметр. Див. Також MailMessage.Body властивість.

Для включення вкладення по електронній пошті, спочатку створити вкладення за допомогою Attachment класу і додати його до повідомлення за допомогою MailMessage.Attachments властивість. Залежно від читання електронної пошти, який використовується одержувачів і тип файлу вкладення деякі одержувачі можуть не зможуть прочитати вкладення. Для клієнтів, які не вдається відобразити вкладення в початковому вигляді, можна вказати альтернативні уявлення за допомогою MailMessage.AlternateViews властивість.

Можна використовувати додаток або файли настройки комп'ютера для вказівки за замовчуванням вузла, порту і значення облікових даних для всіх SmtpClient об'єктів. Для отримання додаткової інформації див. Елемент (Параметри мережі).

Щоб відправити повідомлення електронної пошти і блок при очікуванні повідомлення електронної пошти, відправлених SMTP-сервер, використовуйте один з синхронних Send методи. Щоб дозволити програми основний потік продовжувати роботу під час надсилання електронних листів, використовуйте один з асинхронних SendAsync методи. SendCompleted Подія при SendAsync завершення операції. Для отримання цієї події, необхідно додати SendCompletedEventHandler Делегувати SendCompleted. SendCompletedEventHandler Делегат повинен посилатися на метод зворотного виклику, який обробляє повідомлення про SendCompleted події. Щоб скасувати надсилання асинхронної електронної пошти, використовуйте SendAsyncCancel метод.

Якщо передача повідомлень електронної пошти виконується і потрібно викликати метод SendAsync або Send ви отримаєте InvalidOperationException.

З'єднання з поточним екземпляром SmtpClient класу для SMTP-сервера можна використовувати повторно, коли програму буде потрібно відправити кілька повідомлень на один і той же сервер SMTP. Це особливо корисно при використанні перевірки автентичності або шифрування з'єднання з SMTP-сервера. Процес перевірки автентичності та створення сеансу TLS може бути дорогою операцією. Вимога повторної установки підключення для кожного повідомлення при відправці великої кількості електронної пошти одного сервера SMTP може мати значний вплив на продуктивність. Існує ряд потужних поштових додатків, відправити електронною поштою поновлення стану, розсилки новин або оповіщення. Також в більшості клієнтських додатків електронної пошти підтримують автономний режим, в якому користувачі можуть формувати повідомлення електронної пошти, надіслані пізніше при установці з'єднання з сервером SMTP. Він є типовим для клієнта електронної пошти для відправки всіх повідомлень SMTP для конкретного SMTP-сервера (надається постачальником послуг Інтернету), яка потім пересилає це повідомлення електронної пошти на інші сервери SMTP.

SmtpClient Реалізацію класу пулу підключень SMTP, щоб його можна уникнути повторного підключення для кожного повідомлення на той же сервер. Додаток може повторно використовувати ж SmtpClient об'єкт для відправки безлічі різних повідомлень електронної пошти одного сервера SMTP і багатьом різних серверів SMTP. В результаті жодним чином не визначити, завершено додатки за допомогою SmtpClient об'єкта і він буде очищена.

При завершенні сеансу SMTP і клієнтові потрібно завершити підключення, він повинен відправити повідомлення QUIT на сервер, щоб вказати, що більше немає повідомлень для відправки. Це дозволить сервера звільнити ресурси, пов'язані з підключення від клієнта і обробляти повідомлення, які були відправлені клієнтом.

SmtpClient Не містить клас Finalize метод, тому програма повинна викликати Dispose явно звільняти ресурси. Dispose Метод перебір всіх встановлених підключень до SMTP-серверу, зазначений в Host властивість і відправляє повідомлення QUIT слідують коректно Завершення підключення TCP. Dispose Метод також звільняє некеровані ресурси, використовувані Socket і при необхідності звільняє також керовані ресурси.

Викличте метод Dispose після закінчення використання класу SmtpClient. Метод Dispose залишає клас SmtpClient в непридатному для використання стані. Після виклику методу Dispose. необхідно звільнити всі посилання на SmtpClient збирач сміття міг відновити пам'ять, SmtpClient займана.

Схожі статті