【问题标题】:Code Conversion from Classic ASP to ASP.NET从经典 ASP 到 ASP.NET 的代码转换
【发布时间】:2011-08-03 04:26:39
【问题描述】:

我的客户在他的专用服务器上有一个经典的 ASP 站点,他在该服务器上使用 IIS 发送邮件(它在那里正常工作)。

Set Mail = Server.CreateObject("Persits.MailSender")
Mail.Host = "localhost" ' Specify a valid SMTP server
Mail.Username = "mail@site.com"
Mail.Password = "password"
Mail.From = "info@site.com"

我尝试像这样将其转换为 ASP.NET。

SmtpClient smtp = new SmtpClient();
smtp.Host = "localhost";
smtp.Port = 25;
//smtp.EnableSsl = true;
smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new NetworkCredential("mail@site.com", "password");

smtp.Send(message);

但这不起作用。它几乎是遗留应用程序,没有任何错误记录器/监控,我无法在在线服务器上调试代码。

我的代码有什么问题?

【问题讨论】:

  • 到底出了什么问题?您是否希望电子邮件发送到 smtp 服务器?如果是这样,您的交付方式可能是您的问题:stackoverflow.com/questions/1243033/…
  • 这里为 smtp 邮件配置了 iis
  • 邮件是否显示在队列文件夹中?我相信路径是:c:\inetpub\mailroot\Queue
  • 你能远程登录到那台机器上的 localhost 端口 25(来自 cmd 的telnet localhost 25)吗?它回答吗?消息是否被写入正确的 IIS 放置位置,或者文件甚至没有被创建?
  • “它不起作用”——到底发生了什么?

标签: c# asp.net iis asp-classic smtp


【解决方案1】:

这似乎是权限问题。详情请查看thread

【讨论】:

    【解决方案2】:

    您可能想查看端口 25 是否被阻塞,如 http://kb.siteground.com/article/How_to_check_whether_SMTP_port_25_is_blocked.html 所示

    【讨论】:

      【解决方案3】:

      如果您使用此方法,请确保您的本地 SMTP 服务器正在监控拾取目录:

      smtp.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis;

      如果不是,则消息将保留在那里而不被发送。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-31
        • 1970-01-01
        相关资源
        最近更新 更多