【问题标题】:Classic ASP sending email with SMTP Authentication经典 ASP 使用 SMTP 身份验证发送电子邮件
【发布时间】:2011-01-17 22:15:11
【问题描述】:

我们从一家设计机构那里继承了一个经典的 ASP 站点,该机构只是希望我们进行搜索和替换以更改 SMTP 主机。没问题,我们是一家 PHP 商店,但可以处理大多数事情。

进一步调查发现,我们需要通过新的 SMTP 服务器进行身份验证。

谷歌搜索让我们相信它使用的是 ASPMail 4,并且根据文档它不进行身份验证。

http://www.serverobjects.com/comp/Aspmail4.htm

我们刚刚从这个电话中搜索了“SMTPsvg.Mailer”:

Set Mailer = Server.CreateObject("SMTPsvg.Mailer")

我是否正确假设以上是 ASPMail 4,并且 APSMAil 不进行身份验证?

如果我需要替换 Aspmail,我可以使用什么来通过 SMTP 服务器进行身份验证?

【问题讨论】:

  • 请注意,我对 ASP 一无所知...除了它在 Windows 服务器上运行并引发了激烈的战争。

标签: asp-classic smtp


【解决方案1】:

如前所述,使用 CDO。

set config = CreateObject("CDO.Configuration")
sch = "http://schemas.microsoft.com/cdo/configuration/"
with config.Fields
 .item(sch & "sendusing") = 2 ' cdoSendUsingPort
 .item(sch & "smtpserver") = application("smtpserver")
 .item(sch & "smtpserverport") = application("smtpserverport")
 .item(sch & "smtpauthenticate") = 1 'basic auth
 .item(sch & "sendusername") = application("sendusername")
 .item(sch & "sendpassword") = application("sendpassword")
 .update
end with

with CreateObject("CDO.Message")
  .configuration = config
  .to = ...
  .from = ...
  .subject = ....
  .HTMLBody = ....
  call .send()
end with

关于配置对象的每个字段的文档可以找到here!

【讨论】:

  • 对于像我这样的新手application("sendusername") 应该在其他地方定义。如果之前没有定义,直接用"blabla@blabla.com"
【解决方案2】:

根据文档here ASPMail 4.x 只是不支持身份验证。看来您必须切换到不同的基于 COM 的 SMTP 组件。

【讨论】:

  • 他在他的问题中给出了链接:)
  • 当我的答案与投票最多的问题相同时,为什么重新发布相同的链接会获得反对票?只是想知道。
  • 我没有足够的代表来投反对票。然而,这可能是因为您链接到我在问题中链接到的相同文档,说明与我所做的相同,文档说它不支持身份验证。
【解决方案3】:

检查托管服务提供商是否支持 .Net Framework 2.0(大多数支持),如果支持,请将 .asp 文件重命名为 .aspx,删除发送电子邮件的代码并编写一些简单的代码:

http://www.systemwebmail.com/faq/3.8.aspx

问候

托马斯

【讨论】:

  • 不幸的是,将现有的 ASP 页面移植到 ASP.NET 页面几乎从来没有像简单地将文件扩展名从 .asp 重命名为 .aspx 那样简单,因为除其他因素外,Microsoft Visual Basic 之间存在显着差异脚本版 (VBScript) 和 Visual Basic .NET。来自:msdn.microsoft.com/en-us/library/ms973813.aspx
  • 他不一定需要重写整个页面,只需制作一个mailsender.aspx,它接受所需的数据作为POST数据,发送邮件并返回结果值。在我看来比使用 CDO 更好。
猜你喜欢
  • 1970-01-01
  • 2011-06-18
  • 1970-01-01
  • 1970-01-01
  • 2012-12-17
  • 2017-09-07
  • 2016-11-17
  • 2015-07-08
  • 1970-01-01
相关资源
最近更新 更多