Очень часто в производстве возникает задача разослать несколько писем с вложением в формате pdf. Это могут быть не только счета или фактуры, но и извещения или приглашения, персональные сообщения об акциях и тому подобное. Конечно, еще со свадьбы в записной книжке завалялось сотня другая человек. Текст письма может быть как статическим, так и вариативным. И тут обегаешься по всему интернету с вопросом как это сделать…
Возьмем за основу письмо следующего содержания
Текст тела письма при рассылке не будет меняться, за исключением текста, выделенного курсивом, соответственно отправитель тоже будет один, а вот адресатов будет несколько
Подготовим базу адресатов в xml формате, я не буду пояснять что там значит заголовок, думаю, что опытный читатель разберется сам. Отмечу только, что формат легко меняется под ваши данные, которые набиваются по вашему индивидуальному шаблону
Итак, база получателей (оригинальные xml файлы размещены по ссылке в конце. Вы можете скачать их и изменить по собственному желанию)
В качестве модели имеем, набор полей Дата, Название компании, Имя, Адрес, Город, Телефон
Скачиваем демоверсию FastReport и открываем Letter_Blank.frx
В рассматриваем случае дата отправки письма в правом верхнем углу тянется из xml файла, поэтому заменяем этот текст на
Что означает, что текст будет тянуться из поля Data таблицы Letters
Аналогично проделываем подобную подстановку с другими динамическими значениями (они для наглядности выделены красным)
Более подробно вы можете ознакомится с этими заменами в файле Letter.frx
Запускаем отчет и получаем
Печатаем и рассылаем. Не сложно написать программу, которая будет делать весь набор подобных операций и рассылать на электронную почту, об этом речь пойдет в другой раз)
github.com/ufocombat/Letters
Возьмем за основу письмо следующего содержания
Текст тела письма при рассылке не будет меняться, за исключением текста, выделенного курсивом, соответственно отправитель тоже будет один, а вот адресатов будет несколько
Подготовим базу адресатов в xml формате, я не буду пояснять что там значит заголовок, думаю, что опытный читатель разберется сам. Отмечу только, что формат легко меняется под ваши данные, которые набиваются по вашему индивидуальному шаблону
Итак, база получателей (оригинальные xml файлы размещены по ссылке в конце. Вы можете скачать их и изменить по собственному желанию)
В качестве модели имеем, набор полей Дата, Название компании, Имя, Адрес, Город, Телефон
<Date>Friday, 23/05/2019</Date>
<CompanyName>Qualcomm</CompanyName>
<Name>Lucas</Name>
<Address>711-2880 Nulla St.</Address>
<City>Mankato Mississippi 96522</City>
<Phone>(257) 563-7401</Phone>
Скачиваем демоверсию FastReport и открываем Letter_Blank.frx
В рассматриваем случае дата отправки письма в правом верхнем углу тянется из xml файла, поэтому заменяем этот текст на
Что означает, что текст будет тянуться из поля Data таблицы Letters
Аналогично проделываем подобную подстановку с другими динамическими значениями (они для наглядности выделены красным)
Более подробно вы можете ознакомится с этими заменами в файле Letter.frx
Запускаем отчет и получаем
Печатаем и рассылаем. Не сложно написать программу, которая будет делать весь набор подобных операций и рассылать на электронную почту, об этом речь пойдет в другой раз)
github.com/ufocombat/Letters
Комментарии (5)
yarosroman
25.05.2019 05:19а причем тут .net?
ufocombat Автор
27.05.2019 08:25Можно все руками делать а можно в .net запускать и рассылать все планирую продолжить данную статью
gecube
Ну, и какая ценность в этом? XML — фу. А чего не в ямле-маркдауне? Почему на FastReport? А не самописный скрипт на python?