首页 > 解决方案 > 在没有问题后收到“运行时错误 '2293':Microsoft Access 无法发送此电子邮件”

问题描述

我在 Access 表单上有一个按钮,可以将电子邮件排队并链接到表单上的多个字段。昨天和今天早上,该按钮正常工作。我没有更改基础代码或表单中的任何字段,但是Run-time error '2293': Microsoft Access can't send this e-mail message当我单击该按钮时突然返回错误消息。代码示例如下:

Private Sub cmd_Button_Click()

Dim toaddress As String
Dim ccaddress As String
Dim subject   As String
Dim message As String

toaddress = AddMailAddress(toaddress, Nz(Me.cmb_ProjectLead.Column(1), ""))
toaddress = AddMailAddress(toaddress, Nz(Me.cmb_ProjectLead2.Column(1), ""))
ccaddress = AddMailAddress(ccaddress, Nz(Me.cmb_OtherPOC.Column(1), ""))
ccaddress = AddMailAddress(ccaddress, Nz(Me.cmb_OtherPOC2.Column(1), ""))

subject = "text" & me.txb_ProjectName
message = "text" & me.txb_ProjectName & vbnewline & me.txb_ProjectLocation & vbnewline & me.txb_ProjectDescription

DoCmd.SendObject acSendNoObject, , , toaddress, ccaddress, , subject, message, True

End Sub

当我单击错误消息上的“调试”时,该行DoCmd.SendObject acSendNoObject, , , toaddress, ccaddress, , subject, message, True以黄色突出显示,并带有一个指向它的黄色箭头。

一些可能会有所帮助的注意事项:我正在使用工作颁发的计算机并且我没有管理员权限,因此无法更改某些属性。我必须使用具有相当严格安全标准的 VPN。重申一下,这一直持续到今天。事实上,对于同样的记录,它工作了一会儿,然后 30 秒后没有工作。

*更新:当我剥离除 sendobject 行之外的所有内容并用文本替换值时,该命令有效,即

Private Sub cmd_Button_Click()
DoCmd.SendObject acSendNoObject, , , "toaddress", "ccaddress", , "subject", "message", True
End Sub

当我只添加toaddressccaddress返回时,我收到了 2293 错误消息。

*可能有帮助的其他信息:此表单有几个“电子邮件至”按钮以及一些“将 Outlook 预约发送至”按钮。直到今天早上,它们都运行良好,但现在单击时会生成各种错误消息。它们都使用与toaddress, ccaddress, subject, message,我的示例相同的 etc 格式。

也链接到这些命令的公共函数如下:

Public Function AddMailAddress(address As String, newaddress As String)

    If (address = "") And (newaddress = "") Then
        Exit Function
    End If

    If address = "" Then
        address = newaddress
    Else

        If Not newaddress = "" Then
            If VBA.Right(address, 1) = ";" Then
                address = address & newaddress
            Else
                address = address & ";" & newaddress
            End If
        End If
    End If


    AddMailAddress = address

End Function

标签: vbams-accessoutlook

解决方案


关闭数据库并重新打开后,电子邮件按钮现在可以使用。仍然不知道为什么它之前给了我运行时错误。如果它再次发生,我会回来添加更多见解。


推荐阅读