首页 > 学院 > 开发设计 > 正文

关于.net1.1和.net2.0发送邮件的方法

2019-11-17 04:16:49
字体:
来源:转载
供稿:网友

  昨天在写用户注册的时候,需要写用户填写用户邮件地址,但又得验证邮件地址的有效性,解决这种问题的方法就是根据用户注册的邮箱,有邮箱中发送一个注册码,然后根据注册码来完成下一步的注册。在网上搜索了一下方法,只有.net1.1的方法,在此基础上修改了一下。现在提供两种版本的示例

1).Net1.1

  System.Web.Mail命名空间:
    这个命名控件下包含了以下的对象和三个属性:
    包含的对象:
        MailAttachment:与邮件附件有关的对象类
        MailMessage   :邮件主体
        SmtpMail      :负责发送邮件的SMTP协议。
    属性列表:
        MailEncoding :邮件的编码(Base64,UUEncode) 
        MailFormat    :邮件的格式(Html超文本格式,Text纯文本格式)
        MailPRiority :邮件优先级(High, Medium, Low)

    构建MailMessage对象:
    MailMessage对象是邮件的承载主体,通常可以先构建好MailMessage对象,然后设置它的属性的方式来构建邮件程序,下面列出了的是一些常用的属性:
        Attachments        :邮件附件
        Bcc                    :暗送地址
        Body                 :邮件主体
        BodyFormat           :邮件格式(html,text)
        Cc                    :抄送地址
        From                :发信人地址
        Priority              :邮件优先级(High, Medium,Low)
        Subject             :邮件主题
        To                    :接收人地址
        UrlContentBase     :在HTML格式邮件中的URL编码方式
        UrlContentLocation:邮件信息的优先级(High, Medium,Low)

    使用SMTPMail发送邮件
    构建好MailMessage对象之后,还需要使用另外一个对象-SMTPMail-来发送邮件,SMTPMAIL有一个很重要的方法:Send,该方法有两个不同用法,其中一个可以仅仅发送整个的MailMessage对象:
        SmtpMail.Send(myEmailObject);
    另外一个允许你分别指定发送者,收邮件地址,邮件主题,邮件主题,然后再发送出去:
        SmtpMail.Send(strFrom, strTo, strSubject, strBody);

 

示例:

void  SendMail()

{

      System.Web.Mail.MailMessage myEmail = new System.Web.Mail.MailMessage();

    // SET MESSAGE PARAMETERS
    myEmail.From =  "hohisoft@163.com";
    myEmail.To =  "hohisoft@163.com";
    myEmail.Subject = "咨询培训事宜";
    myEmail.BodyFormat = System.Web.Mail.MailFormat.Html;
    myEmail.Body = "学习.net,请问你们的实训课程都何时开课?.";

    //SEND THE MESSAGE
    System.Web.Mail.SmtpMail.Send(myEmail);

}

 
http://www.devdao.com
2).Net2.0

 System.Net.Mail命名空间:
  这个命名控件下包含了以下主要对象和主要属性:
    包含的对象:
        MailAddress:表示电子邮件发件人或收件人的地址
        Attachment   :表示电子邮件的附件
        MailAddressCollection   :存储与电子邮件关联的电子邮件地址
        MailMessage   :表示可以使用 SmtpClient 类发送的电子邮件
        SmtpClient     :允许应用程序使用简单邮件传输协议 (SMTP) 来发送电子邮件。
    属性列表:
        DeliveryNotificationOptions:描述电子邮件的传送通知选项
        MailPriority    :指定 MailMessage 的优先级
        Smtpaccess :指定允许的简单邮件传输协议 (SMTP) 服务器访问级别
        SmtpDeliveryMethod:指定如何发送电子邮件
        SmtpStatusCode:指定使用 SmtpClient 类发送电子邮件的结果

    构建MailMessage对象:
    MailMessage对象是邮件的承载主体,通常可以先构建好MailMessage对象,然后设置它的属性的方式来构建邮件程序,下面列出了的是一些常用的属性:
        Attachments        :邮件附件
        Bcc                    :暗送地址
        Body                 :邮件主体
        Cc                    :抄送地址
        From                :发信人地址
        Subject             :邮件主题
        To                    :接收人地址

    使用SmtpClient发送邮件
    构建好MailMessage对象之后,还需要使用另外一个对象-SmtpClient-来发送邮件,SmtpClient有一个很重要的方法:Send,可以发送整个的MailMessage对象:
        SmtpClient.Send(MailMessage);

在这个例子中,使用System.Net.Mail命名空间

   /// <summary>
        /// 自动发送邮件
        /// </summary>
        /// <param name="strMail">邮件接受地址</param>
        /// <param name="strRegistCode">注册码</param>
        /// <returns></returns>
        bool SendMail(string strMail, string strRegistCode)
        {
            string strHost = "mail.cdce.cn";   //STMP服务器地址
            string strAccount = "jackguo";       //SMTP服务帐号
            string strPwd = "111111";       //SMTP服务密码


            SmtpClient _smtpClient = new SmtpClient();
            _smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;//指定电子邮件发送方式
            _smtpClient.Host = strHost; ;//指定SMTP服务器
            _smtpClient.Credentials = new System.Net.NetworkCredential(strAccount, strPwd);//用户名和密码

            string content = "你的验证码是:" + strRegistCode + ",请获取后立即完成注册,关联基本信息。";
            content += "<br><br>该邮件为自动发送,请不要回复!";

            MailAddress sender = new MailAddress("jackguo@cdce.cn", "统考信息");
            MailAddress receriver = new MailAddress(strMail);

            MailMessage mail = new MailMessage(sender, receriver);
            MailAddressCollection ToMail = new MailAddressCollection();

            mail.Subject = "统考信息系统验证码";//主题

            mail.Body = content;//内容
            mail.BodyEncoding = System.Text.Encoding.Default;//正文编码
            mail.IsBodyHtml = true ;
            mail.Priority = MailPriority.High;//优先级

            try
            {
                _smtpClient.Send(mail);
                return true;
            }
            catch (Exception e)
            {
               return false;
            }

        }


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表