经典ASP - 使用CDOSYS向自己的域发送电子邮件失败

时间:2012-12-05 01:33:16

标签: asp-classic windows-server-2008 plesk

我有一个经典的asp电子邮件脚本,它使用经过身份验证的CDOSYS从数据库发送到电子邮件。它在Parallels Plesk Windows 2008服务器上运行。

这适用于所有电子邮件地址,但属于我发送的服务器上的网站的任何地址除外。

我可以使用Google Apps电子邮件帐户进行身份验证(该域名是使用Google Apps for email设置的)但是每次客户端运行脚本时我都会遇到Google的24小时发送限制。

任何人都可以指出我出错的地方或解释为什么发送服务器上的网站发送电子邮件会导致错误?错误是

error '8004020f'
/admin/send-group-email.asp, line 128

这是objCDO.Send行

守则:

(primarydomain.com是该网站在Parallels中所在的主要帐户的域名.SenderEmail值将是,例如,id @ secondddomain.com)

Set cdoConfig = CreateObject("CDO.Configuration")  

    With cdoConfig.Fields  
        .Item(cdoSendUsingMethod) = cdoSendUsingPort  
        .Item(cdoSMTPServer) = "localhost"  
        .Item(cdoSMTPAuthenticate) = 1  
        .Item(cdoSendUsername) = "authenticate@primarydomain.com"  
        .Item(cdoSendPassword) = "thepassword"  
        .Update  
    End With 

   while (NOT RS_Emails.EOF)
      Dim objCDO      
      set objCDO = Server.CreateObject("CDO.Message")
      objCDO.Configuration = cdoConfig
      objCDO.From = CStr(Request.Form("SenderEmail")) & " (" & CStr(Request.Form("SenderName")) & ")"
      objCDO.To = RS_Emails.Fields.Item("email").Value
      objCDO.Subject = CStr(Request.Form("Subject"))
      objCDO.HTMLBody = message
      objCDO.Send
      set objCDO = Nothing
      RS_Emails.MoveNext
    Wend
      set cdoConfig=Nothing

1 个答案:

答案 0 :(得分:1)

这很可能是Plesk可以解决的服务器问题。

请查看以下链接: http://mkb-training.com/index.php?option=com_content&view=article&id=1:setting-up-google-apps-with-plesk&catid=1:google-tutorial&Itemid=2

注意以下事项: “取消选中MX1:”域IP也用于邮件服务器“”(有关于如何执行此操作的屏幕截图)。我对Plesk并不是100%肯定,但在H-Sphere(另一个Parallels控制面板)中这样做对于能够在有远程邮件交换机时从服务器发送到您自己的域是至关重要的。

还要确保没有MX记录指向您的服务器(即使正确配置了Google Apps)。