System.Web.Mailのバージョンを使用して、メッセージを送信するためのC#

オリジナルリンク: http://www.cnblogs.com/apollohan/archive/2009/02/21/SendMails.html

最初の問題は、記事公開しまた私の最初のプログラムを使用するためにC#で書かれたが、今それを共有し、希望の前任者はに関するコメント。

以下のために、.NET 2.0 以前の技術で、Microsoftは用の名前空間を提供System.Web.Mailにクラスとメソッドの一連のすべての最初に、この名前空間を使用して書き提供はMailMessageSmtpMail機能クラスは、送信された2つのメッセージを実装します

使用してシステムを。

使用にSystem.Collectionsを。

使用してSystem.Textのを。

使用してSystem.Web.Mailを。

 

名前空間のWebMailSend

{

    クラスPrograme

    {

        メールINFOMATIONを表示する//いくつかのconst文字列

       // accout情報交換することでしょう。 

        民間のconst 文字列MAILFROM = "[email protected]"

        民間のconst 文字列MAILTO = "[email protected]"

        民間のconst 文字列mailSubject = 「ちょうどテストメール」

 

        SMTPサーバとユーザを作成するための//いくつかのconst文字列

        民間のconst 文字列sendServer = "stmp.gmail.com"

        民間のconst 文字列sendUsr = "[email protected]"

        民間のconst 文字列sendPwd = "######" ;

 

        公共の静的な無効メイン(文字列[] argsを)

        {

            //送信するメールを作成します

            MailMessage myMail = 新しいはMailMessage ();

            myMail.From = MAILFROM。から//メール

            myMail.To = MAILTO。レシーバのメールアドレス://へのメール

            myMail.Subject = mailSubject。//メールの件名

            myMail.Body = 「あなたは本当に成功しています。」; //メールの体

            myMail.BodyEncoding = エンコーディング.UTF8。//コーディングは、ウィンドウに、通常はUTF-8です

            myMail.BodyFormat = MailFormat の.text; //本文の形式をHTMLまたはテキスト。

            //myMail.Cc = ""; //

            //myMail.Bcc = "";

            //myMail.Priority = MailPriority.High | MailPriority.Low | MailPriority.Normal;

 

            //必要な証明するメールを設定します

            myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate" 、1);

            //ユーザーが認証されるように設定

            myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusername" 、sendUsr)。

            //アカウントのパスワード

            myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtppassword" 、sendPwd)。

 

            SmtpMail .SmtpServer = sendServer。

            試します

            {

                SmtpMail.Send(myMail);

            }

            catch (Exception e)

            {

                Console.WriteLine("Exception throw out:{0}", e.Message);

            }

 

            Console.WriteLine("Press any key to quit...");

            Console.ReadKey();

        }

    }

}

 

 

对于这个程序中有一些要注意的地方:

1.第一个要提出的就是关于myMail.BodyEncoding = Encoding.UTF8的问题,一般来讲windows系统中的邮件使用的都是这个编码方式,如果采用其它的方式有可能会出现邮件发送后变成乱码的现象;

2.再一个就是myMail.Fields的使用,其中添加了三个域。分别是标注邮箱为用户验证,邮箱账户名,邮箱密码三个属性。myMail.Fields.Add(object key, object value)是继承自System.Collections.IDictionay.Add(object key, object value)的方法,对于本程序,三个cdo.message的都是固定的,分别标注三种属性,后面是对该属性所赋予的值。

3.还有一个问题就是大家将会碰到的,现在市面上的主流邮箱很多已经不是默认支持外部程序调用smtp邮件发送的,从而在执行程序时会产生很多异常,而且都是乱码,不用担心,这并不是程序的问题,而是System.Web.Mail的问题,这些异常当改用System.Net.Mail的时候就会被用中文标记出来。举例:163,sina,126都是不可用的。

4.最后要提到的,该方法已经过时,System.Web.Mail类已经过时,其smtp服务期有很多属性不能指定,包括端口,安全验证等等,已经逐步被System.Net.Mail所替代。

转载于:https://www.cnblogs.com/apollohan/archive/2009/02/21/SendMails.html

おすすめ

転載: blog.csdn.net/weixin_30215465/article/details/94934876