Excel通过代理服务器上的gmail发送电子邮件

时间:2014-09-18 03:39:03

标签: excel vba proxy gmail

任何专家都可以指出我的错误?真诚地感谢您的建议和解决方案。

以下是我的代码,我总是收到投诉(运行时错误)。所以希望任何专家都能指出我的错误。感谢..

Dim NewMail As CDO.Message
Set httpRequest = New XMLHTTP
Set myMail = CreateObject("CDO.Message")
Set NewMail = New CDO.Message

    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/urlproxyserver") = "proxy.server:8080"
    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/urlproxybypass") = "<local>"
    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465
    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "user@gmail.com"
    NewMail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
    NewMail.Configuration.Fields.Update

    With NewMail
        .Subject = "my subject here"
        .From = "user@gmail.com"
        .To = "receiver@gmail.com"
        .CC = "" 
        .TextBody = "my text body here"
        .AddAttachment "myattach.pdf"
        NewMail.Send
    End With

1 个答案:

答案 0 :(得分:0)

NewMail.Send应该只是.Send

或者,尝试减少代码:

Dim NewMail As Object 
Set NewMail = CreateObject("CDO.Message") 
With NewMail 
   .Subject = "my subject here"
   .From = "user@gmail.com"
   .To = "receiver@gmail.com"
   .CC = "" 
   .BCC = "" 
   .TextBody = "my text body here"
   .AddAttachment "myattach.pdf"
   .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/urlproxyserver") = "proxy.server:8080"
    Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/urlproxybypass") = "<local>"
   .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True 
   .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
   .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "user@gmail.com" 
   .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password" 
   .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 
   .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
   .Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 
   .Update 
End With 
NewMail.Send

我不知道您的代理是否配置正确,但请务必检查您的端口号。