从 Access 数据库发送电子邮件

问题描述

我正在尝试从 Access 发送电子邮件

我确认凭据正确,在 Office 365 上启用了 SMTP 设置。我收到此错误

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

如果我将端口更改为“587”或“465”,则会显示错误

“运行时错误 -2147220973 (80040213)。传输无法连接到服务器。”

如果有任何替代解决方案,第 3 方库,我愿意接受所有选择。

我试过 (https://youtu.be/mWf-FExqGr8)。它可以工作,但不允许我添加除使用 Outlook 配置之外的自定义帐户。

Option Compare Database
Option Explicit
    
Private Const cdoSendUsingPort = 2
Private Const cdobasic = 1
Private Const cdoNTLM = 2
    
' The docmentation of all these settings is available at
' https://msdn.microsoft.com/en-us/library/ms872853.aspx
    
Private Const cdoSendUsingMethod = "http://schemas.microsoft.com/cdo/configuration/sendusing"
Private Const cdoSMTPServer = "http://schemas.microsoft.com/cdo/configuration/smtpserver"
Private Const cdoSMTPServerPort = "http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Private Const cdoSMTPUseSSL = "http://schemas.microsoft.com/cdo/configuration/smtpusessl"
Private Const cdoSMTPAuthenticate = "http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Private Const cdoSendUserName = "http://schemas.microsoft.com/cdo/configuration/sendusername"
Private Const cdoSendPassword = "http://schemas.microsoft.com/cdo/configuration/sendpassword"
    
Public Sub SendSimpleCDOMailWithBasicAuthentication()
    
    Dim mail    As Object           ' cdo.message
    Dim config  As Object           ' CDO.Configuration
        
    Set mail = CreateObject("cdo.message")
    Set config = CreateObject("CDO.Configuration")
        
    config.Fields(cdoSendUsingMethod).Value = cdoSendUsingPort
    config.Fields(cdoSMTPServer).Value = "smtp.office365.com"
    config.Fields(cdoSMTPServerPort).Value = 25
        
    config.Fields(cdoSMTPAuthenticate).Value = cdobasic
    config.Fields(cdoSendUserName).Value = "from@test.onmicrosoft.com"
    config.Fields(cdoSendPassword).Value = "@password"
    
    config.Fields(cdoSMTPUseSSL).Value = "true"
    
    config.Fields.Update
        
    Set mail.Configuration = config
        
    With mail
        .To = "To@gmail.com"
        .From = "from@test.onmicrosoft.com"
        .Subject = "First email with CDO"
        .TextBody = "This is the body of the first plain text email with CDO."
            
        .AddAttachment "D:\my daily work.txt"
        
        .Send
    End With
        
    Set config = nothing
    Set mail = nothing
        
End Sub

enter image description here

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)