我使用IIS8.5编写Classic Asp编程,因此对于发送电子邮件,我使用带有CDO组件的SMTP服务(不是SMTP服务器)。我想使用提货目录选项发送电子邮件:
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
所以我的代码是:
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
With Fields
.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp-relay.gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xxx@gmail.com"
.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "The-pwd-123"
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = true
.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverpickupdirectory") ="C:\inetpub\correos\"
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.BodyPart.Charset = "unicode-1-1-utf-8"
.To = "YYY <yyy@gmail.com>"
.From = "XXX <xxx@gmail.com>"
.Subject = "This is a subject"
.TextBody = "This is the body of the message"
.Send
End With
你可能知道IIS8.5没有SMTP服务器,所以没有拾取目录的文件夹(或者我还没找到它),你必须创建,我遇到的问题是电子邮件被困在我为此目的创建的文件夹中。
答案 0 :(得分:1)
当您使用cdoSendUsingPickup选项时,您只需将电子邮件消息写入一个文件,该文件将排队等待您的代码异步传递。是的,这要快得多,因为您的代码不必等待SMTP服务器接收消息。因此,使用此选项时,您无需指定目标SMTP服务器,端口,用户名,密码等。
希望您现在问自己,如果我没有指定转发SMTP服务器,服务器如何知道将消息发送到哪里。那么,那是因为您只需要配置Microsoft SMTP服务,让它知道要将消息传递给哪个服务器。网上有很多文章可以配置它,所以你不应该找到它。