You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Gupta Centura/Team Developer 6中通过Office365 SMTP发送邮件?

关于Centura/Team Developer 6中使用SalMail对接Office365 SMTP的问题解答

1. 现有代码是否适配Office365?

TD6的SalMail类支持通过Office365 SMTP发送邮件,但现有代码需注意几个关键细节以确保正常运行:

  • 端口与加密:你设置的nPort=587和bSSL=True符合Office365 SMTP要求(Office365 587端口使用STARTTLS加密,TD6的bSSL=True会自动适配该加密方式)
  • 账号认证:
    • 若发件账号未启用MFA,直接使用账号密码即可
    • 若启用了MFA,需使用应用密码替代普通密码(在Office365账号设置中生成)
  • 发件人匹配:确保dfFrom与sUserName完全一致(Office365要求发件人地址必须匹配认证账号)
  • 返回值校验:需检查oSMTP.Connect()和oSMTP.SendMail()的返回值,0表示操作成功,非0则为错误码,可通过oSMTP.GetLastErrorText()获取错误详情

调整后的完整可运行示例代码:

Call oSMTP.SetUser( sUserName, sPassword )
Call oSMTP.SetMailServer(sServerName, nPort, bSSL, bSend)

Set nreturnConnect = oSMTP.Connect()
If nreturnConnect <> 0 Then
    ! 处理连接错误
    Call SalMessageBox( oSMTP.GetLastErrorText(), "连接失败", MB_Ok )
    Return
End If

! 指定邮件格式,0=纯文本,1=HTML
Set nMailFormat = 0
Set nreturnSendMail = oSMTP.SendMail( nMailFormat, dfSubject,
dfFrom, dfTo, dfCc, mlEmailContent, sAttachments, bDeliveryRecipient,
nMailPriority )

If nreturnSendMail <> 0 Then
    Call SalMessageBox( oSMTP.GetLastErrorText(), "发送失败", MB_Ok )
Else
    Call SalMessageBox( "邮件发送成功", "提示", MB_Ok )
End If

Call oSMTP.Disconnect()

2. nMailFormat参数的有效值

在TD6的SalMail类中,nMailFormat仅支持两个有效值:

  • 0:纯文本格式,邮件内容无排版格式
  • 1:HTML格式,邮件内容可包含HTML标签实现排版、插入图片等效果

内容的提问来源于stack exchange,提问作者André Fusioka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 01:27:21