Автор: Tigerwen01
В повседневной разработке мы часто сталкиваемся с разработкой модуля приложения, который автоматически отправляет клиентам электронные письма. Например, когда клиент выполняет определенную операцию, регистрируется или совершает покупки в Интернете, сервер отправляет клиенту сообщение, когда операция клиента завершена. Автоматически отправить электронное письмо с подтверждением и т. д. .NET Framework Существует множество способов использовать сокеты для установления соединения с почтовым сервером, а затем использовать службу SMTP (Simple Mail Transfer Protocol) для передачи почты, но это довольно сложно. Давайте воспользуемся классами, предоставляемыми пространством имен System.Web.Mail платформы .NET, для отправки электронных писем, потому что это очень просто.
Пространство имен System.Web.Mail предоставляет простой управляемый интерфейс для SMTP (простой протокол передачи почты) и содержит множество классов, включая такие важные классы, как MailMessageMailAttachmentSmtpMail. Класс MailAttachment предоставляет свойства и методы для создания вложений электронной почты. Класс MailMessage предоставляет свойства и методы для создания сообщений электронной почты, а класс SmtpMail предоставляет свойства и методы для отправки сообщений с использованием компонента обмена сообщениями Collaboration Data Objects (CDOSYS) хост-системы.
Чтобы гарантировать правильную работу программы, «ретрансляционный» метод установки виртуального SMTP-сервера по умолчанию в IIS заключается в следующем:
войдите в интерфейс «Internet Information Services», щелкните правой кнопкой мыши «Свойства виртуального SMTP-сервера по умолчанию» и выберите «Свойства» во всплывающем меню. Нажмите кнопку «Реле» на вкладке «Доступ», а затем добавьте «127.0.0.1» в поле «IP-адрес (маска)/имя домена» в окне «Ограничения ретрансляции».
Ниже приведен файл SendEmail.aspx, который был разработан с использованием бета-версии 2 Visual Web Developer 2005 Express Edition и запущен под управлением Windows2000Server+sp4. Для справки:
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Mail" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" " http ://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd ">
<script runat="server">
void OnSend(Object Sender,EventArgs e) {
MailMessage message = new MailMessage();
message.From = Sed.Text;
message.To = Receiver.Text;
message.Subject = Subj.Text;
message.Body =
SmtpMail.SmtpServer = "
SmtpMail.Send
(messge);
успешно ";
}
</script>
<html xmlns=" http://www.w3.org/1999/xhtml " >
<head runat="server">
<title>Отправить пользовательский интерфейс электронной почты</title>
</head>
<body>
<h1> Отправить Интерфейс электронной почты</h1>
<form id="form1" runat="server">
<div>
<hr>
<table cellpacing="8">
<tr>
<td align=right valign=bottom>Отправитель:</td >
<td><asp:TextBox ID=Sed runat=server/></td>
</tr>
<tr>
<td align=right valign=bottom>Получатель:</td>
<td> <asp:TextBox ID =Receiver runat=server /></td>
</tr>
<tr>
<td align=right valign=bottom>Тема:</td>
<td><asp:TextBox ID=Subj runat= server /></ td>
</tr>
<tr>
<td align=right valign=bottom>Содержимое:</td>
<td><asp:TextBox ID=Body TextMode=MultiLine Rows=5 Columns=40 runat= server /></ td>
</tr>
</table>
<hr />
<asp:Button Text="Send" OnClick="OnSend" runat=server />
</div>
</form>
<asp:Label ID=lab runat= server/>
</body>
</html>
В этой статье рассказывается только о том, как отправлять электронную почту в приложениях .NET Framework, и не содержится подробного описания классов в пространстве имен System.Web.Mail. О System.Web.Mail. можно обратиться к соответствующей информации.