Файлмейкер 18 проанонсировал возможность отправки писем в формате HTML. Элементарная процедура, которую почему-то долгие годы не могли реализовать. Хорошо, что есть бесплатные плагины, и кое-как задачу можно было решить.
Теперь с этой задачей файлмейкер справляется сам. Правда, не так как ожидалось. Вместо дополнительной опции в стандартной команде SendEmail, разработчикам предложено пользоваться командой Insert From Url. И как-то оно все настолько подозрительно выглядит, что вместо радости — одно лишь расстройство.
Не спешите отчаиваться. Манипуляции, которые придется предпринять, вряд ли сложнее тех, которые требуются для настройки стандартного диалога Send Email. Если вы способны представить сообщение в виде HTML текста, то и с настройками cUrl справитесь. Там все просто. Пример отправки HTML письма приведен в справке к команде Insert From URL.
Чтобы было проще разобраться с рекомендациями, я подготовил две иллюстрации. На первой — традиционный диалог.
На второй иллюстрации изображено поле message таблицы Contacts, содержащее текст отправляемого письма, и диалог Specify Calculation, в котором задаются опции 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 опции, какие параметры можно задать и как отправлять в файлмейкере письма сложных типов, читайте следующую статью