-
System.Web.Mail を使用します。
private void Button1_Click(オブジェクト送信者、System.EventArgs e)
{
//MailMessage オブジェクトをインスタンス化します。
System.Web.Mail.MailMessage mail=new System.Web.Mail.MailMessage();
//メールの送信先アドレスを定義します。 存在しないアドレスを任意に入力できます。^_^
mail.From=" [email protected] ";
//メール受信アドレスを定義する
// セミコロンで区切られた受信者の電子メール アドレスのリストを設定します
mail.To=" [email protected] ";
//メールのBCCアドレスを定義する
//セミコロンで区切られたメールアドレスのリストを設定します
//mail.Bcc=" [email protected] ";
//メールのカーボンコピーアドレスを定義する
//セミコロンで区切られたメールアドレスのリストを設定します
//mail.Cc=" [email protected];[email protected]
//メールの件名を定義します
mail.Subject="widebright メール テスト asp.net メール送信学習";
//メール本文のコンテンツタイプを設定します
//ここではHTML形式で送信します
mail.BodyFormat=System.Web.Mail.MailFormat.Html;
//メールの本文を設定します
mail.Body="テストして動作するかどうかを確認してください";
//@ で囲まれた文字列は @ で始まり、二重引用符で囲まれます。例えば:
//@ を引用符で囲む利点は、エスケープ シーケンスが処理されないため、完全修飾ファイル名などの文字列を簡単に書き出せることです。
//@"c:DocsSourcea.txt " // "c:\Docs\Source\a.txt" ではなく
//@ で囲まれた文字列内に二重引用符を含めるには、2 組の二重引用符を使用します。
// @「「アホイ!」」と船長が叫びました。 // 「アホイ!」と船長が叫びました。
// @ 記号のもう 1 つの使用法は、C# キーワードである参照先 (/reference) 識別子と一緒に使用することです。
// http://msdn2.microsoft.com/zh-CN/library/362314fe(VS.80).aspx
//添付ファイルを設定する
System.Web.Mail.MailAttachment mailAttachment=new System.Web.Mail.MailAttachment(@" F:dddddd.txt");
//メールに添付ファイルを添付する
mail.Attachments.Add(mailAttachment);
//ここで複数の添付ファイルを追加し続けます
mailAttachment=new System.Web.Mail.MailAttachment(@"F:asp_net メール コード送信_Baidu Know.mht");
mail.Attachments.Add(mailAttachment);
//SMTP サーバーはこのマシンに設定されているため、127.0.0.1 と書き込みます。163 メールボックスなどの別のサーバーに接続している場合は、smpt.163.com と書き込みます。
System.Web.Mail.SmtpMail.SmtpServer="127.0.0.1";
//多くのSMTPサーバーはスパム防止のために認証を必要としていると言われており、拡張smptプロトコルとか呼ばれているようです。
//しかし、ここで接続されているのは独自の smpt サーバー、つまり単純な smpt であるため、検証はありません。
//ローカル SMPT サーバーから 163 または他のメールボックスにメールを送信するときに検証が必要かどうかについては、実際のテストではメールを送信できるかどうかはわかりません。
//@163.com、@eyou.com、@x.cn 、検証は必要ありません。
//確認する
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/smtpauthenticate ", "1");
//ログイン名
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendusername ", "widebright");
//ログインパスワード
//mail.Fields.Add(" http://schemas.microsoft.com/cdo/configuration/sendpassword ", "widebright");
//送信
System.Web.Mail.SmtpMail.Send(メール);
}
上記のコードは、.Net で提供される System.Web.Mail.SmtpMail クラスを使用して、電子メールを送信し、自動的に接続します。
電子メールを送信するための SMPT サーバー。 TCP クラスやソケットを使用して smpt プロトコルを実装するコードを作成する人もいますが、それには多くのコーディングやプロトコルなどが必要になり、非常に面倒です。 VB を使用する前にこれを行ったことがあります。smpt プロトコルは比較的単純ですが、これらの添付ファイルのエンコードには多くのコードが必要です。
これは SMTP メッセージを送信するためのコードです。メッセージを受信して待機する場合は、pop3 プロトコルをサポートする Pop3 サーバーが必要です。
IIS のインストール後に smtp サーバーがインストールされています。Pop3 は付属していないので、インストールするのは少し面倒かもしれません。
SMTPサーバーの設定
IIS 5.1 をインストールした後、IIS Information Service Manager で構成しただけで、自分で有効にしました。
1. [ドメイン] に複数のドメイン名を追加します。[既定の SMTP 仮想サーバー] で [ドメイン] を右クリックします。
新しいドメインを作成するには「新規」を選択し、---> ドメインの種類を選択して「リモート」を選択します。
これらのサーバーにメールを送信したいので、ドメイン名を 163.com eyou.com x.cn にそれぞれ入力します。上記のコードと同じです。
===============
mail.To=" [email protected] ";
===============
それに応じて、メールを送信したい相手に対応するドメイン名を設定する必要があります。設定しないとメールを送信できません。
2. 163.com などのドメイン名を右クリックし、「プロパティ」を選択し、「受信メールのこのドメインへの中継を許可する」にチェックを入れないとメールの送信ができません。チェックを入れないとエラーが発生します。 。
以下のルート ドメインでは、デフォルトの [DNS を使用してドメインにルーティングする] を選択するだけです。
重要なのは、対応する SMTP サーバーのドメイン名を IIS に設定することで、電子メールを送信できるようになります。 asp.net ページでいくつかのメールボックスをテストしたところ、正常に送信できました。 163 メールボックスと同様に、送信ボタンをクリックすると受信されます。
追加できることを今知りました
*.com
*。ネット
*cn
ほとんどの電子メール アドレスに一致するドメイン名。
*.com ドメイン名を追加すると、@163.com および @eyou.com にメールを送信できます。
windows xp+visual sutdio 2003+iis5.1環境でテストは合格しました。
しかし、新浪の郵便ポストに送った手紙が届かなかったことだけが分かりましたが、その理由はわかりません。
SMTP の典型的なエラー 550 5 7 1 中継不能が発生する
ドメインに加えて、ドメイン名が正しく設定されていない可能性があります。
SMTP仮想サーバーの設定で「認証に成功したコンピュータの中継を許可する」チェックボックスがオフになっています。以下に示すように、
まず、SMTP 仮想サーバーのプロパティ ページの [アクセス] ページを開きます。
次に、[リレー] ボタンをクリックし、[上記のリストに関係なく、認証に成功したすべてのコンピュータのリレーを許可する] が選択されているかどうかを確認します。