Отправка почты через 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
: Следует ли пересылать фильтры в контейнеры данных.