C #을 System.Web.Mail 및 버전을 사용하여 메시지를 보낼 수

원본 링크 : http://www.cnblogs.com/apollohan/archive/2009/02/21/SendMails.html

첫 번째 문제는 문서 발행, 또한 내 첫 번째 프로그램이 사용하는 지금을 공유하는 C #으로 작성을 희망 전임자에 대해 언급.

들어 .NET 2.0 이전 기술, 마이크로 소프트의 네임 스페이스를 제공 System.Web.Mail 및에게 클래스와 메소드의 일련의 모든 먼저,이 네임 스페이스를 사용하여 쓰기 제공은 MailMessageSmtpMail기능 클래스는 전송 된 두 개의 메시지를 구현합니다.

사용하여 시스템;

사용 은 System.Collections 단계;

사용 System.Text 단계;

사용 System.Web.Mail 및;

 

네임 스페이스 WebMailSend

{

    클래스 프로그램 자체

    {

        // 일부 CONST 문자열은 메일 정보]를 표시합니다

       // accout 정보는 대체 될 것입니다. 

        개인 CONST의 문자열 MAILFROM = "[email protected]" ;

        개인 CONST의 문자열 MAILTO = "[email protected]" ;

        개인 CONST의 문자열 mailSubject = "그냥 테스트 메일" ;

 

        // 일부 CONST 문자열은 SMTP 서버와 사용자를 만들려면

        개인 CONST의 문자열 sendServer = "stmp.gmail.com" ;

        개인 CONST의 문자열 sendUsr = "[email protected]" ;

        개인 CONST의 문자열 sendPwd = "######" ;

 

        공공 정적 무효 메인 ( 문자열 [] 인수)

        {

            // 보낼 메일을 작성

            은 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