当前位置:  编程技术>.net/c#/asp.net

asp.net无法获取iis目录的问题解决方法

    来源: 互联网  发布时间:2014-08-25

    本文导语:  如果你有一个需要偶尔发送邮件的Asp.Net的网站,可能会有代码长的和下面的很像: 代码如下://这是简写,并非实际项目代码public void Send(string from, string to, string subject, string body){    var msgMail = new MailMessage(from, to, subject, body); ...

如果你有一个需要偶尔发送邮件的Asp.Net的网站,可能会有代码长的和下面的很像:

代码如下:

//这是简写,并非实际项目代码
public void Send(string from, string to, string subject, string body)
{
    var msgMail = new MailMessage(from, to, subject, body);
    msgMail.IsBodyHtml = true;
    var server = new SmtpClient("localhost");
    server.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
    server.UseDefaultCredentials = true;
    server.Send(msgMail);
}

可能它曾经工作,但是当你切换到或初步部署到新的Windows 2008 服务器时,你会遇到错误提示信息"Cannot get IIS Pickup Directory!"

现在,我经常称呼自己为世界上最厉害的系统管理员。这不是我研究的方向。我并不非常擅长,但是有时在实际工作中我不得不面对和解决这些问题以获取报酬。

1)  SMTP服务是否安装?

你的Web服务器或许还没有安装SMTP服务,所以进入服务管理中确定SMTP服务在功能列表中。如果不在,就需要你添加上去。

2) SMTP是否已配置?

仅仅确定SMTP服务已经安装是不够的。首先,当你服务器启动时(我曾经遇到些客户端软件安装前可以发送邮件,但是之后就不可以了,他们重启了服务器,而Mail服务没启动,就这么简单),确保你的SMTP服务也跟着自动启动。进入服务,确保SMTP服务在那里,并且已经启动,启动类型也为自动。

 

然后,你应该配置SMTP服务——说句实话,我对此知道的不多,所以我就不详细解释了,但是你需要知道SMTP仍然是IIS6.0的一部分,所以你可以在IIS6.0的管理界面找到它。一个快速突破点,因为它可能不符合了一些接收邮件服务器需要一个完整的合格域名的要求,而你的服务器可能只有一个被严格被限制使用的简单域名,比如像“Server15”之类的,所以在SMTP属性中,Delivery标签下 ,点击添加按钮,给服务器一个真正的完整的满足要求的域名。

3) 防火墙是打开的吗?

你的一些操作有可能与防火墙冲突,所以现在是个好时机去排除SMTP安装故障。你可以通过Telnet本机通过端口25,手动给自己发个简单的邮件。下面一个例子可以照着做。

代码如下:

telnet localhost 25
HELO somehost.com
MAIL FROM: yourname@somedomain.com
RCPT TO: the_to_address@somedomain.com
DATA
Subject: the subject of the mail
Blah blah blah message body


点击回车键,过会进入发件箱 如果你不能连接,或者邮件不能送达,这里还有一些其他问题需要你解决,因为防火墙是不会影响拾取目录的获取。

4) IIS是否有权限获取元数据(拾取目录信息)

这里我们将会遇到实际的出错原因--你在网站跑的程序也许没有权限获取保存着拾取目录名的IIS 元数据(metabase),这通常就是引起错误的原因。

你需要下载IIS 6.0 资源包。里面有你需要用到的“metaacl.vbs”脚本而我不需要的。[点我下载]

下载并安装,然后运行Metabase Explorer(你可以搜索它,我的在“Program Files (x86)IIS ResourcesMetabase Explorer”目录下)。 你应该在你的IIS进程为SmtpSvc服务添加读权限(我为IIS_IUSRS组添加了权限,在配置中查看为你工作的是否有权限)。

5) IIS是否有权限写入拾取目录

下面这步只是补充,因为你在下次使用网站来发送邮件可能会遇到权限错误。这时,你需要为你的IIS用户添加写入拾取目录的权限(对我而言,我为“IIS_IUSES”添加了拾取目录“c:inetpubmailroot”的写入权限)。

这样不管怎样,使它为我工作了,但是对任意的服务器来说,可能因为我点击了某些地方对程序有着关键作用的一些有魔力的多选框,所以如果你仍有问题,或者知道这些问题的答案,请在评论中提出,正如我所提到的,我可能修改了一些自己没注意到的地方,导致可以发送邮件。如有不足,我将及时改正。


    
 
 

您可能感兴趣的文章:

  • asp.net获取用户ip地址公共类
  • asp.net 获取目录中图片的代码
  • asp.net获取url地址的方法
  • ASP.NET使用Subtract方法获取两个日期之间的天数
  • ASP.NET如何获取两个日期之间的天数
  • asp.net 获取ashx中数据的代码
  • asp.net获取网站目录物理路径
  • asp.net获取网站目录物理路径示例
  • Asp.net获取浏览器信息的简单代码
  • asp.net 获取存储过程返回值的方法
  • asp.net获取网站绝对路径示例
  • asp.net使用jQuery获取RadioButtonList成员选中内容和值示例
  • asp.net 动态获取Excel表名(第一个表)的代码
  • asp.net中js+jquery添加下拉框值和后台获取示例
  • asp.net 获取IP地址的可靠方法
  • asp.net获取pc电脑与平板物理地址
  • asp.net获取客户端参数与操作系统信息
  • ASP.net中获取客户端参数操作系统信息
  • asp.net获取HTML表单File中的路径的方法
  • asp.net 获取URL的可靠方法
  • asp无法访问数据库?
  • asp.net无法加载oci.dll的解决方法
  • asp.net伪静态后真正的静态文件无法访问的解决方法
  • asp.net 由于无法创建应用程序域,因此未能执行请求错误的解决方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • iis8.5显示ASP的详细错误信息500 内部服务器错误解决方法
  • asp.net post方法中参数取不出来的解决方法
  • 解决asp.net ajax格式传递数据乱码的问题
  • 发布程序时出现“类型ASP.global_asax同时存在于...”错误的解决办法
  • win2003+IIS服务器下运行ASP+ACCESS非常慢的解决方法
  • asp.net iis7默认文档错误异常的解决方法
  • asp.net ajax时用alert弹出对话框与验证控件冲突的解决方法
  • ASP.NET页面按钮单击事件失效的解决方法 iis7站长之家
  • asp.net解决上传4M文件限制
  • iis6网站属性没有asp.net选项卡的解决办法
  • ASP.NET页面按钮单击事件失效的解决方法
  • asp+mysql+utf8 网页出现乱码问题的解决方法
  • asp.net 公共变量声明问题的解决方法
  • asp.net Session超时问题的解决方法有哪些?
  • ASP.NET 程序中删除文件夹导致session失效问题的解决办法分享
  • ASP和ASP.Net共享Session解决办法
  • asp.net url传递中文的解决方法
  • ASP.NET在IIS上注册报0x800702e4错误的解决方法
  • 64位系统中IIS7运行ASP时出现ADODB.Connection 800a0e7a错误的解决方法
  • asp.net 执行sql超时的解决方法分享
  • ASP.NET之 Ajax相关知识介绍及组件图
  • 我想了解一些关于Java怎样与Asp或Asp.net结合方面在未来发展方向的问题?
  • c#/ASP.NET操作cookie(读写)代码示例
  • asp.net UrlEncode对应asp urlencode的处理方法
  • asp.net实例 定义和使用asp:AccessDataSource
  • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)
  • asp与asp.net的session共享
  • 如何在unix下发布asp?
  • 怎么让Apache支持Asp?
  • ??谁能把ASP代码改为JSP的
  • Linux平台下哪种方法实现ASP好?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3