Отправка почты через Office 365 SMTP с использованием 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]

Имя пользователя / пароль верны (проверено, что), есть ли способ вызвать Invantive Data Hub для использования безопасного соединения?

Я использовал синтаксис SMTP из этого поста LinkedIn.

1 ответ

Решение

Отправка электронной почты из Invantive SQL иногда может быть трудной. В вашем случае я бы порекомендовал одно из следующих решений:

  • Перечислите ваш сервер, который отправляет SMTP-запрос, как доверенный адрес в Exchange для ретрансляции сообщений за пределы вашей локальной сети (когда это разрешено настраивать) и разрешите (транспортировать незащищенный) порт SMTP-порт 25.
  • Или используйте безопасный обмен.

Первый - задача системного администратора; использование защищенного транспорта может быть принудительно установлено путем указания значения для поля enableSsl в smtp@mail,

Это поле enableSsl стала доступна в июле 2017 года и более поздних выпусках. Полный список полей:

  • bccEmail
  • тело
  • ccEmail
  • fromEmail
  • от имени
  • заголовки
  • isBodyHtml
  • minimumDeliveryDurationMsec
  • приоритет
  • replyToEmail
  • replyToName
  • smtpHostAddress
  • smtpHostPortNumber
  • smtpPassword
  • smtpUserName
  • предмет
  • toEmail

Больше почтовых полей

Обратите внимание, что 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'
)

Например, чтобы включить вложение, используйте поля attachmentContents, attachmentName а также attachmentMimeType, Полный список полей вы получите, запросив либо systemtablecolumns@datadictionary или нажав F4 в инструменте запроса, когда курсор находится на smtp@mail текст.

Значения по умолчанию

Вам не нужно указывать все значения на вашем insert into smtp@mail, Существует ряд опций, для которых вы можете установить значения по умолчанию из строки подключения settings.xml или через set заявление.

Доступные варианты могут использовать запрос как select * from systemdatacontainerattributes@datadictionary или на systemproviderattributes:

  • smtp-minimum-deliver-duration-ms: Минимальная продолжительность доставки в миллисекундах для отправки SMTP плюс вставленный спящий режим, когда отправка SMTP завершена раньше, чем минимальная.
  • smtp-send-timeout-ms: Время ожидания в миллисекундах, после которого время отправки SMTP истекает.
  • smtp-enable-ssl: Установить, включен ли протокол SSL для SMTP-подключений.
  • smtp-password: Пароль SMTP по умолчанию для аутентификации.
  • smtp-user-name: Имя пользователя SMTP по умолчанию для аутентификации.
  • smtp-host-port-number: Используемый по умолчанию номер сообщения SMTP.
  • smtp-host-address: Используемый по умолчанию SMTP-адрес хоста.
  • mail-priority: Приоритет почты; отрицательный - это объем, 0 - нейтральный, положительный - срочный.
  • mail-body-html: Установить, является ли тело письма HTML.
  • mail-reply-to-name: Имя по умолчанию ОТВЕТИТЬ НА.
  • mail-reply-to-email: Ответ по умолчанию на адрес электронной почты.
  • mail-from-name: Имя FROM по умолчанию.
  • mail-from-email: Адрес электронной почты по умолчанию ОТ.
  • pre-request-delay-ms: Задержка перед запросом в миллисекундах.
  • invantive-use-cache: Кэшировать ли результаты запроса.
  • invantive-sql-shuffle-fetch-results-data-containers: Следует ли перетасовывать результаты, извлеченные из контейнеров данных.
  • invantive-sql-forward-filters-to-data-containers: Следует ли пересылать фильтры в контейнеры данных.
Другие вопросы по тегам