Vba 使用Excel从任何客户端/服务器发送CDO电子邮件

Vba 使用Excel从任何客户端/服务器发送CDO电子邮件,vba,excel,email,smtp,Vba,Excel,Email,Smtp,我正在尝试设置一个.xlsm工作簿,以便使用电子表格中的特定数据向不同的电子邮件地址发送电子邮件 我希望无论使用什么样的电子邮件客户端或服务器 我目前正试图让它为hotmail工作 这是我的密码: Sub Button1_Click() Dim CDO_Mail As Object Dim CDO_Config As Object Dim SMTP_Config As Variant Dim strSubject As String Dim strFrom

我正在尝试设置一个.xlsm工作簿,以便使用电子表格中的特定数据向不同的电子邮件地址发送电子邮件

我希望无论使用什么样的电子邮件客户端或服务器

我目前正试图让它为hotmail工作

这是我的密码:

Sub Button1_Click()
    Dim CDO_Mail As Object
    Dim CDO_Config As Object
    Dim SMTP_Config As Variant
    Dim strSubject As String
    Dim strFrom As String
    Dim strTo As String
    Dim strCc As String
    Dim strBcc As String
    Dim strBody As String
    
    strSubject = "SUBJECT"
    strFrom = "******@hotmail.com"
    strTo = "************@hotmail.com"
    strCc = ""
    strBcc = ""
    strBody = "BODY TEXT HERE"
    
    Set CDO_Mail = CreateObject("CDO.Message")

    Set CDO_Config = CreateObject("CDO.Configuration")
    CDO_Config.Load -1

    Set SMTP_Config = CDO_Config.Fields

    With SMTP_Config
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.live.com"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
        .Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = "******@hotmail.com"
        .Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "password"
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
        .Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
        .Update
    End With

    With CDO_Mail
        Set .Configuration = CDO_Config
    End With

    CDO_Mail.Subject = strSubject
    CDO_Mail.From = strFrom
    CDO_Mail.To = strTo
    CDO_Mail.TextBody = strBody
    CDO_Mail.CC = strCc
    CDO_Mail.BCC = strBcc
    CDO_Mail.Send

    MsgBox ("Emails have been sent.")
End Sub
我得到以下错误:

运行时错误'-2147220975(80040211)'

无法将邮件发送到SMTP服务器,传输错误代码为0x80040217。服务器响应不可用

我还尝试将端口从25更改为587,但出现错误:

传输无法连接到服务器

我最初也没有以下两行:

.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
当他们不在的时候,我得到了一个错误:

服务器拒绝了发件人地址。服务器响应为:530 5.7.0必须首先发出STARTTLS命令