二开-如何使用K3的已经封装好的邮件收发组件原创
金蝶云社区-Robby
Robby
8人赞赏了该文章 357次浏览 未经作者许可,禁止转载编辑于2023年01月30日 17:09:53

可以通过调用KDMobileOpen.dll组件发送邮件,使用已经封装好的标准组件,用起来放心,提高二开效率。

截图中删掉了应该输入的关键信息image.png

填充完上述内容之后,点击按钮,如果你输入的信息是准确的,效果如下;

image.png


调用方法:

Private Sub Command1_Click()

    If TestMyEmail Then

        MsgBox "测试成功!"

    Else

        MsgBox "测试失败,请检查邮箱配置是否正确!"

    End If

End Sub


Public Function TestMyEmail() As Boolean

    

    Dim dctEmail            As KFO.Dictionary

    Dim strSendEmailResult  As String

    Dim obj As Object

    

    On Error GoTo Error_Handle


    Set dctEmail = New KFO.Dictionary   

'这一块是接收方信息:接收的邮箱地址、标题、内容、附件、不写日志

    dctEmail("Addrecipients") = Trim(txtReceive.Text)

    dctEmail("Subject") = "测试1"

    dctEmail("Body") = txtSendMsg.Text

    dctEmail("Addattachment") = ""

    dctEmail("bLog") = 0    '不写日志    

 '这一块是服务内容TestMailInfo=1表示本次调用与业务预警服务无关

'txtAccountName:发送邮件的地址

'txtMailSrv:发送邮件的服务器地址(市面上大部分邮件服务商都提供smtp服务的qq,163)

'cmbEncryptMode=0;默认方式,需要发送邮件的用户名密码

'txtRZName用户名

'txtRZPassword密码

    dctEmail("TestMailInfo") = 1

    dctEmail("txtAccountName") = Trim(txtSendAddress.Text)

    dctEmail("txtMailSrv") = Trim(txtServer.Text)

    dctEmail("cmbEncryptMode") = 0 'cmbEncryptMode.ListIndex

    dctEmail("txtRZName") = Trim(txtSendUser.Text)

    dctEmail("txtRZPassword") = txtSendPwd.Text

'IsSave表示发送邮件成功后,是否把发送邮件的信息存到当前账套里

'PropsString:当前账套的连接串信息;

'IsSave不为0时必须填写正确的PropsString

    dctEmail("IsSave") = 0

     'dctEmail("PropsString") = "" 'MMTS.PropsString

    

    Set obj = CreateObject("KDMobileOpen.KDSendMail")

    strSendEmailResult = obj.KdSendMail(dctEmail)

    

    Set obj = Nothing

    Set dctEmail = Nothing

    If strSendEmailResult <> "" Then

        Exit Function

    End If

    TestMyEmail = True

    Exit Function

Error_Handle:

    Set obj = Nothing

    Set dctEmail = Nothing

    MsgBox Err.Description

End Function


二开人员可以到k3企业邮箱配置这里检验自己的信息输入的是否正确。

image.png


赞 8