注册 登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

上善若水,厚德载物

To the person U will be the whole world

 
 
 

日志

 
 

asp.net邮件发送(FrameWork1.1 /2.0)  

2008-03-17 09:52:38|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

        发现近日许多网友提问发送邮件的问题,我现在整理一下,发上来。以下代码已经测试通过,如有问题,请检查自己机器或者服务器是否有防火墙之类的挡住了。不过发现这种自动发送的代码发过去后,总被认为是“垃圾邮件”。高人知道为什么请告诉小弟。谢谢哈

 

Frame Work 1.1 版本下的发送邮件

 

 

using System.Web.Mail;

 

  #region 发送邮件

  /// <summary>
  /// 发送邮件
  /// </summary>
  /// <param name="_UserName">用户名</param>
  /// <param name="_Mail">用户注册的电子邮件</param>
  /// <param name="_Pwd">用户登录密码</param>
  /// <returns>是否发送成功</returns>
  public static bool SendMail (string _UserName,string _Mail,string _Pwd)
  {
   string _adminMail = System.Configuration.ConfigurationSettings.AppSettings["AdminMail"].ToString();
   string _adminMailPwd = System.Configuration.ConfigurationSettings.AppSettings["AdminMailPwd"].ToString();
   string _adminMailSmtp = System.Configuration.ConfigurationSettings.AppSettings["AdminMailSMTP"].ToString();
   string _subject = System.Configuration.ConfigurationSettings.AppSettings["MailSubject"].ToString();
   string _body = System.Configuration.ConfigurationSettings.AppSettings["MailBody"].ToString();

   MailMessage mailObj = new MailMessage();
   mailObj.To = _Mail;
   mailObj.From = _adminMail;
       
   mailObj.Subject = _subject;//"您在投资基金网的注册信息";
   mailObj.Body = _body.Replace("[UserName]",_UserName).Replace("[Pwd]",_Pwd).Replace("[Br]","<br/>").Replace("[Nbsp]","&nbsp;");//"尊敬的用户:<br/>&nbsp;&nbsp;&nbsp;&nbsp;您好,您的注册信息如下<br/>用户名:" + _UserName + " 密码:" + _Pwd;
       
   mailObj.BodyFormat = MailFormat.Html;
 
   mailObj.Priority = MailPriority.High;

   SmtpMail.SmtpServer = _adminMailSmtp;
   //mailObj.Attachments.Add(new MailAttachment("c:\\swf\\000.bmp"));
   

   //string[] adminName = _adminMail.Split('@');
   ///////////////////////////////////FrameWork1.1
   mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
   ////设置验证用户名
   //mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", adminName[0].ToString());
   mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", _adminMail);
   ////设置验证密码
   mailObj.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", _adminMailPwd);
   //////////////////////////////////////////////

   SmtpMail.Send(mailObj);
   return true;
  }
  #endregion

 

 

 

=========================

Frame Work 2.0 版本下的发送邮件

 

 

///   <summary>
               
///   发送邮件
               
///   </summary>
               
///   <param   name= "strSmtpServer "> smtp地址 </param>
               
///   <param   name= "UserName "> 用户名 </param>
               
///   <param   name= "Password "> 密码 </param>
               
///   <param   name= "strFrom "> 发信人地址 </param>
               
///   <param   name= "strto "> 收信人地址 </param>
               
///   <param   name= "strSubject "> 邮件标题 </param>
               
///   <param   name= "strBody "> 邮件正文 </param>
                public   static   void   SendMail(string   strSmtpServer,   string   UserName,   string   Password,   string   strFrom,   string   strto,   string   strSubject,   string   strBody,   string   strFileName)
                {
                       
//生成一个   使用SMTP发送邮件的客户端对象
                        System.Net.Mail.SmtpClient   client   =   new   System.Net.Mail.SmtpClient(strSmtpServer);

                       
//表示以当前登录用户的默认凭据进行身份验证
                        client.UseDefaultCredentials   =   true;

         

                       
//包含用户名和密码
                        client.Credentials   =   new   System.Net.NetworkCredential(UserName,   Password);

                         
//指定如何发送电子邮件。
                         
//Network                                             电子邮件通过网络发送到   SMTP   服务器。    
                         
//PickupDirectoryFromIis               将电子邮件复制到挑选目录,然后通过本地   Internet   信息服务   (IIS)   传送。    
                         
//SpecifiedPickupDirectory           将电子邮件复制到   SmtpClient.PickupDirectoryLocation   属性指定的目录,然后由外部应用程序传送。    

                        client.DeliveryMethod  
=   System.Net.Mail.SmtpDeliveryMethod.Network;

                       
//建立邮件对象  
                        System.Net.Mail.MailMessage   message   =   new   System.Net.Mail.MailMessage(strFrom,   strto,   strSubject,strBody);
                       
                       
//定义邮件正文,主题的编码方式
                        message.BodyEncoding   =   System.Text.Encoding.GetEncoding( "gb2312 ");
                        message.SubjectEncoding  
=   System.Text.Encoding.GetEncoding( "gb2312 ");
                     
                       
//获取或设置一个值,该值指示电子邮件正文是否为   HTML。  
                        message.IsBodyHtml   =   false;
                       
                       
//指定邮件优先级
         
                        message.Priority  
=   System.Net.Mail.MailPriority.Normal;

                       
//添加附件
                       
//System.Web.Mail.MailAttachment   mailAttachment=new   System.Web.Mail.MailAttachment(@ "f:/baihe.txt ");  
                        if   (strFileName   !=   " "   &&   strFileName   !=   null)
                        {
                                Attachment   data  
=   new   Attachment(strFileName);
                                message.Attachments.Add(data);
                        }
                   
                       
                       
//发件人身份验证,否则163   发不了
                        client.Credentials   =     new   System.Net.NetworkCredential(strFrom,   Password);

                       
//发送
                        client.Send(message);
                }
        }

  评论这张
 
阅读(462)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018