Для того, чтобы отправить отчёт из Delphi программы, используя протокол MAPI, понадобится свежая версия генератора отчётов. Следующий код позволяет повесить на обработчик нажатия кнопки функцию отправки почты по протоколу MAPI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
procedure TForm1.Button2Click(Sender: TObject); var mail: TfrxMailExport; txt: TfrxTXTExport; begin txt := TfrxTXTExport.Create(nil); mail := TfrxMailExport.Create(nil); mail.UseMAPI := MAPI; mail.Address:='Recepient Name <recepient@earth.xyz>'; mail.ExportFilter:=txt; mail.FilterDesc:='TXT per E-Mail'; mail.FromMail:='Sender Name <sender@source.xyz>'; mail.Login := ''; mail.Password := ''; mail.Subject:='Subject-Text here'; mail.Lines.Add('Hi there, ' + #13#10#13#10+ 'heres comes an email with attached file'); frxReport1.Export(mail); mail.Destroy; end; |
При этом необходимо учесть следующие моменты:
- Адрес получателя сообщения должен быть в канонической форме - Name <user@host.net> - корректный адрес. В то же время адрес user@host.net будет отклонён некоторыми почтовыми клиентами. Например, Microsoft Outloook не сможет отправить сообщение, если он будет задан не в канонической форме.
- Полям Login и Password должны быть назначены пустые значения.