经典ASP使用SMTP身份验证发送电子邮件

时间:2010-02-17 15:36:04

标签: asp-classic smtp

我们从设计机构继承了一个经典的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服务器?

4 个答案:

答案 0 :(得分:18)

如上所述,使用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

答案 1 :(得分:2)

是的。你为什么不改用CDO?这篇文章可以提供一些帮助。

How do I send e-mail with CDO?

答案 2 :(得分:1)

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

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

此致

托马斯

答案 3 :(得分:-3)

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