使用 Invantive SQL 通过 Office 365 smtp 发送邮件

Sending mail via Office 365 smtp using Invantive SQL

我正在尝试使用 Invantive Data Hub 通过以下查询发送电子邮件(密码和用户名已编辑)。

insert into smtp@Mail
( fromEmail
, toEmail
, subject
, body
, smtpHostAddress
, smtpUsername
, smtpPassword
)
VALUES
( "no_reply@XXX.com"
, "XXX@XX.com"
, "Test"
, "Body"
, "smtp.office365.com"
, "XXX@XXX.com"
, "*******"
)

这会导致以下错误:

Uitroep itgendhb077: Error in Invantive Data Hub.
The SMTP server requires a secure connection or the client was not authenticated. The server response was: 5.7.57 SMTP; Client was not authenticated to send anonymous mail during MAIL FROM [DB6P191CA0024.EURP191.PROD.OUTLOOK.COM]

username/password 是正确的(已检查),有没有办法触发 Invantive Data Hub 使用安全连接?

我使用了来自 this LinkedIn post 的 smtp 语法。

从 Invantive SQL 发送电子邮件有时会很困难。对于您的情况,我会推荐以下解决方案之一:

  • 将发起 SMTP 请求的服务器列为 Exchange 中的受信任地址,用于在本地网络之外中继邮件(如果允许配置)并允许(传输不安全)SMTP 端口 25 连接。
  • 或者使用安全交换。

第一个是系统管理员任务;可以通过为 smtp@mail.

中的字段 enableSsl 指定值来强制使用安全传输

此字段 enableSsl 已在 2017 年 7 月及更高版本中可用。完整的字段列表是:

  • 密件抄送
  • body
  • ccEmail
  • 来自电子邮件
  • 来自姓名
  • headers
  • isBodyHtml
  • minimumDeliveryDurationMsec
  • 优先级
  • 回复邮件
  • 回复姓名
  • smtpHostAddress
  • smtpHostPortNumber
  • smtp密码
  • smtp用户名
  • 主题
  • 到邮箱

更多邮件字段

请注意 insert into smtp@mail 有更多字段可用,例如:

insert into Smtp@Mail 
(headers, fromEmail, fromName, replyToEmail, replyToName, toEmail, ccEmail, bccEmail, subject, body, isBodyHtml, priority, smtpHostAddress, smtpUsername, smtpPassword) 
values 
( 'X-SAMPLE:Y;X-SAMPLE2:Z'
, 'someone@somewhere'
, 'Test'
, 'me@home'
, 'Test'
, 'me@home'
, ''
, ''
, 'Ubersicht Rechnungen (HTML) [s-unittest]'
, '<p>Sehr geehrte Damen und Herren,</p>'
       || '<p>Um Ihnen unnötiges Nachhalten offener Rechnungen zu ersparen, informieren wir Sie mit diesem Schreiben über Ihr Konto bei ACME.</p>'
       || '<p>Wir wünschen Ihnen viel Erfolg bei Ihren Geschäften.</p>'
       || ' <p>Mit freundlichen Grüßen,</p>'
       || ' <p><b>Invantive GmbH</b></p>'
, 'true'
, -1
, 'smtp.server.address'
, 'some-user'
, 'some-password'
)

例如,要包含附件,请使用字段 attachmentContentsattachmentNameattachmentMimeType。当光标位于 smtp@mail 文本上时,您可以通过查询 systemtablecolumns@datadictionary 或在查询工具中按 F4 获得完整的字段列表。

默认值

您不必在 insert into smtp@mail 上指定所有值。您可以从 settings.xml 连接字符串或通过 set 语句为许多选项设置默认值。

可用的选项可以使用 select * from systemdatacontainerattributes@datadictionarysystemproviderattributes:

之类的查询
  • smtp-minimum-deliver-duration-ms:SMTP 发送的最短传递持续时间(以毫秒为单位)加上当 SMTP 发送早于最短时间完成时插入的睡眠。
  • smtp-send-timeout-ms:SMTP 发送超时后的超时时间(以毫秒为单位)。
  • smtp-enable-ssl:设置是否为SMTP连接启用SSL。
  • smtp-password:用于验证的默认 SMTP 密码。
  • smtp-user-name:用于验证的默认 SMTP 用户名。
  • smtp-host-port-number:要使用的默认 SMTP 主机 post 号码。
  • smtp-host-address:要使用的默认 SMTP 主机地址。
  • mail-priority:邮件的优先级;负数代表大量,0 代表中立,正数代表紧急。
  • mail-body-html:设置邮件body是否为HTML.
  • mail-reply-to-name:默认回复名称。
  • mail-reply-to-email:默认回复电子邮件地址。
  • mail-from-name:默认FROM名称。
  • mail-from-email:默认的发件人邮箱地址。
  • pre-request-delay-ms:Pre-request 延迟毫秒数。
  • invantive-use-cache:是否缓存查询结果。
  • invantive-sql-shuffle-fetch-results-data-containers: 是否打乱从数据容器中获取的结果。
  • invantive-sql-forward-filters-to-data-containers: 是否转发过滤器到数据容器。