著者: Tigerwen01
日常の開発では、顧客に電子メールを自動的に送信するアプリケーション モジュールの開発に遭遇することがよくあります。たとえば、顧客が特定の操作を実行したり、オンラインで登録または購入したりすると、サーバーは顧客にメッセージを送信します。お客様の操作が完了すると、確認メールなどが自動送信されます。 .NET Framework ソケットを使用してメール サーバーとの接続を確立し、SMTP (Simple Mail Transfer Protocol) サービスを使用してメールを送信する方法は数多くありますが、これは非常に複雑です。非常に簡単なので、.NET Framework の System.Web.Mail 名前空間によって提供されるクラスを使用して、電子メールの送信を完了してみましょう。
System.Web.Mail 名前空間は、SMTP (Simple Mail Transfer Protocol) 用のシンプルなマネージ インターフェイスを提供し、MailMessageMailAttachmentSmtpMail などの重要なクラスを含む多くのクラスを含みます。MailAttachment クラスは、電子メールの添付ファイルとメソッドを構築するためのプロパティを提供します。 MailMessage クラスは、電子メール メッセージを構築するためのプロパティとメソッドを提供し、SmtpMail クラスは、ホスト システムの Collaboration Data Objects (CDOSYS) メッセージング コンポーネントを使用してメッセージを送信するためのプロパティとメソッドを提供します。
プログラムが正しく実行できることを確認するために、IIS でデフォルトの SMTP 仮想サーバーを設定するための「リレー」方法は次のとおりです。
「インターネット インフォメーション サービス」インターフェイスに入り、「デフォルトの SMTP 仮想サーバーのプロパティ」を右クリックして、「デフォルトの SMTP 仮想サーバーのプロパティ」を選択します。ポップアップメニューの「プロパティ」から「アクセス」タブの「リレー」ボタンをクリックし、「リレーの制限」画面の「IPアドレス(マスク)/ドメイン名」に「127.0.0.1」を追加します。
以下は SendEmail.aspx ファイルです。このファイルは Visual Web Developer 2005 Express Edition のベータ バージョン 2 を使用して開発され、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;
受信者.テキスト;
メッセージ.
本文
=
"ローカルホスト"
;
成功しました! ";
}
</script>
<html xmlns=" http://www.w3.org/1999/xhtml " >
<head runat="server">
<title>電子メール送信ユーザー インターフェイス</title>
</head>
<body>
<h1> 送信電子メール UI</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 =受信者 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=
この記事では、.NET Framework アプリケーションで電子メール
を送信する方法のみを紹介し、System.Web.Mail
名前空間のクラスの
詳細については説明しません。関連情報を参照できます。