当前位置: 首页 > news >正文

如何选择常州网站建设如何在百度推广网站

如何选择常州网站建设,如何在百度推广网站,购物 网站建设的市场分析,wordpress分享卡片插件最近使用.net的System.Web.Mail发送邮件在服务器上失败,经过多次尝试,终于解决了这个问题: 一般System.Web.Mail是.net自带的发送邮件的库.但发现失败的原因有几种,贴出来给大家参考一下: <% Page Language"C#" %> <script language"C#" runat&…

 最近使用.net的System.Web.Mail发送邮件在服务器上失败,经过多次尝试,终于解决了这个问题:

一般System.Web.Mail是.net自带的发送邮件的库.但发现失败的原因有几种,贴出来给大家参考一下:

<%@ Page Language="C#" %>
<script language="C#" runat="server">

void Page_Load()
{
// 使用一个SMTP的服务器,并且通过验证
  System.Web.Mail.MailMessage myEmail = new System.Web.Mail.MailMessage();
 myEmail.From = "username@126.com";
 myEmail.To = "aim@eyou.com";
 myEmail.Subject = "测试";
 myEmail.BodyFormat = System.Web.Mail.MailFormat.Text;
 myEmail.Body = "看到了么?";
 // 通过SMTP服务器验证
 myEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
 myEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username");
 myEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "userpassword");
 System.Web.Mail.SmtpMail.SmtpServer = "smtp.126.com";
 System.Web.Mail.SmtpMail.Send(myEmail);
 lblMailStatus.Text = "Mail successfully sent.";
}

</script>

<html>
<body>

<asp:Label id="lblMailStatus" runat="server" />

</body>
</html>

这个是常见的发送方式,

案例一:见到网上有些资料缺少

 // 通过SMTP服务器验证
 myEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1");
 myEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", "username");
 myEmail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", "userpassword");

这一部分,是失败原因其中之一.有些邮件服务器(smtp)需要用户验证.

附CdoConfiguration相关属性参考:(转自:http://dev.csdn.net/article/78/78245.shtm)
public abstract class CdoConfiguration
{
      // Fields
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoAutoPromoteBodyParts = "http://schemas.microsoft.com/cdo/configuration/autopromotebodyparts";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoFlushBuffersOnWrite = "http://schemas.microsoft.com/cdo/configuration/flushbuffersonwrite";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoHTTPCookies = "http://schemas.microsoft.com/cdo/configuration/httpcookies";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoLanguageCode = "http://schemas.microsoft.com/cdo/configuration/languagecode";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoNNTPAccountName = "http://schemas.microsoft.com/cdo/configuration/nntpaccountname";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoNNTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/nntpauthenticate";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoNNTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/nntpconnectiontimeout";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoNNTPServer = "http://schemas.microsoft.com/cdo/configuration/nntpserver";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoNNTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/nntpserverpickupdirectory";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoNNTPServerPort = "http://schemas.microsoft.com/cdo/configuration/nntpserverport";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoNNTPUseSSL = "http://schemas.microsoft.com/cdo/configuration/nntpusessl";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoPostEmailAddress = "http://schemas.microsoft.com/cdo/configuration/postemailaddress";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoPostPassword = "http://schemas.microsoft.com/cdo/configuration/postpassword";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoPostUserName = "http://schemas.microsoft.com/cdo/configuration/postusername";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoPostUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/postuserreplyemailaddress";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoPostUsingMethod = "http://schemas.microsoft.com/cdo/configuration/postusing";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSaveSentItems = "http://schemas.microsoft.com/cdo/configuration/savesentitems";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSendEmailAddress = "http://schemas.microsoft.com/cdo/configuration/sendemailaddress";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSendUserReplyEmailAddress = "http://schemas.microsoft.com/cdo/configuration/senduserreplyemailaddress";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSMTPAccountName = "http://schemas.microsoft.com/cdo/configuration/smtpaccountname";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSMTPConnectionTimeout = "http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSMTPServerPickupDirectory = "http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoSMTPUseSSL = "http://schemas.microsoft.com/cdo/configuration/smtpusessl";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoURLGetLatestVersion = "http://schemas.microsoft.com/cdo/configuration/urlgetlatestversion";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoURLProxyBypass = "http://schemas.microsoft.com/cdo/configuration/urlproxybypass";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoURLProxyServer = "http://schemas.microsoft.com/cdo/configuration/urlproxyserver";
      [MarshalAs(UnmanagedType.BStr)]
      public const string cdoUseMessageResponseText = "http://schemas.microsoft.com/cdo/configuration/usemessageresponsetext";
}
例子代码如下:
   MailMessage myMail = new MailMessage();
   myMail.From = emailFrom;
   myMail.To = emailTo;
   myMail.Subject = subject;
   myMail.Body = sb.ToString();
   myMail.BodyFormat = MailFormat.Html;
   myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing","2");
   myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendemailaddress",emailFrom);
   myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpuserreplyemailaddress",emailFrom);
   myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpaccountname",userName);
   myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername",Your 163.com's userName);
   myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword",your 163.com's password);
   myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate","1");
   myMail.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver","smtp.163.com");
   //SmtpMail.SmtpServer = "smtp.163.com";
   SmtpMail.Send(myMail);

案例二:

已经加上smtp验证,仍然发送失败:原因应该是IIS的设置

运行后系统提示错误信息:

Email Fail
Could not access 'CDO.Message' object.
Here is the full error message output:
System.Web.HttpException: Could not access 'CDO.Message' object. ---> System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Runtime.InteropServices.COMException (0x8004020F): The server rejected one or more recipient addresses. The server response was: 550 5.7.1 Unable to relay for 12321323@mobile.att.net

检查SMTP SERVICE,正常,估计是权限设置问题。打开IIS ADMIN,右键点击SMTP VIRTUAL SERVER,选择属性,在ACCESS中点RELAY,增加127.0.0.1。一路OK回去。

这时候再运行程序,邮件发送成功。

转自:http://blog.joycode.com/cafecat/archive/2004/11/06/38186.aspx

案例三,就是我所遇到的问题,和同事调试多次之后才发现:服务器为了安全,把一些控件(dll)禁用了.

抛出无法加载Dll的错误.

最后发现,发送邮件需要调用到msado15.dll.而ADO被禁用.导致出错.

希望这些能帮到使用System.Web.Mail的人:)

 

 

http://www.hkea.cn/news/574533/

相关文章:

  • 制作网页的网站有哪些网站建设
  • 日本真人做爰无遮挡视频免费网站嘉兴关键词优化报价
  • 忻州市中小企业局网站贵州整站优化seo平台
  • 网页怎么制作超链接seo兼职接单平台
  • 网站建设中应注意哪些问题重庆整站seo
  • 贵阳网站建设哪家便宜微商软文范例大全100
  • 怎么在微信上做网站竞价交易
  • wordpress优化版4.7.4网站seo设计
  • 网上课程网站精准客户数据采集软件
  • 专业网站建设报价外呼系统电销
  • 网站建设公司价格差别seo还有哪些方面的优化
  • 哪家公司建造了迪士尼乐园关键词优化推广排名多少钱
  • 做教育的网站有哪些内容吗湖南网站营销推广
  • wordpress 跳过ftp搜索引擎排名优化方案
  • 360做的网站北京营销推广公司
  • 我国政府网站建设的趋势宁波seo公司排名榜
  • 高端网站建设,恩愉科技专业的seo搜索引擎优化培训
  • 跨境网站开发公司网站seo思路
  • 冠县网站建设活动推广方案
  • 鲜花培训网站建设网站推广要点
  • 情趣内衣怎么做网站如何制作网页
  • 网站交互技术百度推广登陆后台
  • 网站的推广和宣传方式各行业关键词
  • 腾讯云服务器网站建设淘宝推广哪种方式最好
  • 大专网站建设论文找个免费的网站
  • 移动端网站开发流程图seopeix
  • 购物网站制作免费太原seo招聘
  • 怎么建设食品网站济南seo外包公司
  • 建设网站有哪些seopeix
  • 桂林市工程建设项目招标网站莆田百度快照优化