FileMaker Pro Advanced 18 — отправка почты с помощью cURL

Файлмейкер 18 проанонсировал возможность отправки писем в формате HTML. Элементарная процедура, которую почему-то долгие годы не могли реализовать. Хорошо, что есть бесплатные плагины, и кое-как задачу можно было решить.

Теперь с этой задачей файлмейкер справляется сам. Правда, не так как ожидалось. Вместо дополнительной опции в стандартной команде SendEmail, разработчикам предложено пользоваться командой Insert From Url. И как-то оно все настолько подозрительно выглядит, что вместо радости — одно лишь расстройство.

Не спешите отчаиваться. Манипуляции, которые придется предпринять, вряд ли сложнее тех, которые требуются для настройки стандартного диалога Send Email. Если вы способны представить сообщение в виде HTML текста, то и с настройками cUrl справитесь. Там все просто. Пример отправки HTML письма приведен в справке к команде Insert From URL.

Чтобы было проще разобраться с рекомендациями, я подготовил две иллюстрации. На первой — традиционный диалог.
Стандартный диалог Send Email

На второй иллюстрации изображено поле message таблицы Contacts, содержащее текст отправляемого письма, и диалог Specify Calculation, в котором задаются опции cUrl options для диалога Insert From URL

Настройки cUrl options команды Insert From URL
На обеих иллюстрациях одни и те же настройки заданы переменными, поэтому сопоставить, какие прежние данные куда подставляются в настройках Insert From Url, не составит труда.

Если вы заметили, в нижней иллюстрации отсутствуют настройки из раздела Server Information, а именно: Outgoing SMTP Server, Server Port, Connection Encryption

все эти настройки должны быть заданы в опции Target URL команды Insert From URL
Формат:

http://smtp.gmailcom:25

или

https://smtp.gmail.com:465

Не сложно догадаться, что для защищенного соединения (порт 465) должно быть выбран протокол https, а для незащищенного (порты 25, 587) — http
В моем примере target URL с помощью переменных я вычислю так:


"https://" & $smtp_host & ":" & $smtp_port

Осталось добавить, что для отправки письма в формате html в тексте письма в заголовке Content-Type вы укажете тип text/html и это будет выглядеть так:


Content-Type: text/html; charset=utf-8

а вместо обычного письма у вас будет текст с html тэгами, что-то вроде:

<body> <h3>Дорогая Скарлет.</h3> …. </body>

Все. Теперь вы знаете, как отправлять обычные и html письма новым способом.

Ах, да. Забыл сказать: cURL опция —dump-header не является обязательной. Если вы добавили эту опцию и к ней привязали глобальную переменную, то в эту переменную запишется диалог файлмейкера с SMTP сервером. Но это уже совсем другая история. Если вы хотите знать, как действует протокол SMTP и почему мы задаем такие cURL опции, какие параметры можно задать и как отправлять в файлмейкере письма сложных типов, читайте следующую статью

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

+ 76 = 81