Как программно задать настройки почтового клиента по умолчанию для отправки писем из FastReport .NET

12.02.2021

Как и многие другие генераторы отчетов, FastReport .NET позволяет отправлять отчет через электронную почту в любом из доступных форматов экспорта. Вы можете отправить электронное письмо либо в режиме предварительного просмотра отчета, либо в коде пользовательского приложения.

Чтобы отправить письмо, вам нужно задать настройки отправителя, получателя.

На вкладке Account, вы задаете настройки почтового клиента для отправки писем, а также адрес и имя отправителя.

FastReport.NET

А на вкладке Email – вы настраиваете адрес получателя, тему письма, текст письма и самое главное – формат отчета, который нужно приложить к письму. При отправке письма, отчет будет автоматически экспортирован в указанный формат и прикреплен к письму. 

FastReport.NET

Все заданные настройки будут сохранены, как настройки по умолчанию при отправке письма, и вы сможете использовать их в дальнейшем. То же самое и при инициализации значений почтовых настроек в коде приложения в компоненте EnvironmentSettings. Настройки будут сохранены только после отправки письма. Но как быть, когда вам нужно, чтобы настройки письма по умолчанию были заданы сразу, без необходимости отправлять письмо для их сохранения? Это может понадобиться, если вы используете генератор отчетов в многопользовательском приложении и хотите сделать почтовые предустановки, чтобы пользователи ввели лишь адрес получателя и нажали кнопку отправить.

Настройки письма по умолчанию расположены в конфигурационном файле генератора отчетов FastReport .NET, который обычно располагается по указанному пути

C:\Users\User\AppData\Local\FastReport\FastReport.config.

Открыв этот файл в текстовом редакторе, вы увидите xml. Найдите секцию AccountSettings, и, если вы уже отправляли письма из режима предварительного просмотра, то вы увидите настройки для отправки почты по умолчанию. Чтобы отредактировать этот файл в своем пользовательском приложении воспользуйтесь следующим кодом:

XmlItem xi = Config.Root.FindItem("EmailExport").FindItem("AccountSettings");
// save account info
xi.SetProp("Address", "a@a.com");
xi.SetProp("Name", "Name");
xi.SetProp("Template", "template");
xi.SetProp("Host", "host");
xi.SetProp("Port", "25");
xi.SetProp("UserName", "UserName");
xi.SetProp("Password", "Password");
xi.SetProp("EnableSSL", "1"); // "0" если SSL нужно отключить

В этом коде мы прочитали конфигурационный файл и нашли секцию для настроек почтового отправления. А затем – задали настройки. Если этой секции или ее свойств в конфигурации нет, то они добавятся автоматически.

Таким образом мы можем создать предварительные настройки почты для наших пользователей.

20 ноября 2024

Локализация и смена языков в FastReport VCL

FastReport VCL поддерживает 40 языков для локализации интерфейса и позволяет изменять язык на лету через меню или код, без перекомпиляции.
1 ноября 2024

Новые возможности редактора отчетов FastReport VCL

Рассматриваем новые возможности редактора отчетов: выносные линии, подсветка пересекающихся объектов, обновлённые деревья отчетов и данных.
30 октября 2024

Использование стилей при создании отчетов в FastReport VCL

В статье подробно рассматривается одна из новых возможностей FastReport VCL – применение стилей и страниц стилей.