You are not logged in.
Pages: 1
Would it be possible to add a SendEMail function with these parameters.
function SendEMail(const pmcServer: TSMTPConnection; const pmcFrom, pmcToCSV, pmcRawEMail: RawUtf8; pmIsTLS: Boolean = False): Boolean;
Background: I create the EMail document (header + body) using the Indy classes TIdMessage and TIdMessageBuilderHTML/Plain. This is very simple as follows:
idMessage := TIdMessage.Create(Nil);
try
idMessage.Subject := ...;
idMessage.From.Address := ...;
idMessage.Recipients.Add.Address := ...;
idMessageBuilder := TIdMessageBuilderHTML.Create;
try
idMessageBuilder.Html.Text := AnyTextFileToString('EMail.html', True);
idMessageBuilder.FillMessage(idMessage);
finally
idMessageBuilder.Free;
end;
idMessage.SaveToStream(rawStream);
SendEMail(connection, StringToUtf8(idMessage.From.Address), StringToUtf8(idMessage.Recipients.EMailAddresses), rawStream.DataString, False);
So far I still use my own SendEMail function, derived from mORMot SendEMail function.
With best regards
Thomas
Offline
You will still need to set the proper content-type, since the body is not just some text, but a multi-part content.
It could be possible now with
https://github.com/synopse/mORMot2/commit/61413640
if you set TextCharSet = '' and specify the content-type in the headers.
Offline
You will still need to set the proper content-type, since the body is not just some text, but a multi-part content.
Thanks for your efforts. Yes, and Indy MessageBuilder does it perfectly. It creates the complete EMail document with header and body and considers every possibility. Even attachments can be added just like that.
idMessageBuilder.Attachments.Add('C:\InfoData.pdf');
Everything is encoded correctly. For me, only the sending mechanism from mORMot is interesting. I extracted this part from the SendEMail function and tested/used it with SMTP/SMTPS servers and EMail client programs. It works perfectly. If you want to know what Indy MessageBuilder does, you can save the result to a file.
idMessage.SaveToFile(MakePath([Executable.ProgramFilePath, 'EMail.txt']));
I have the perfect solution working for me. But when I suggest mORMot as a solution to Indy users who have a problem with SSL/TLS, they find the existing too complicated. My suggestion is the best of both worlds.
With best regards
Thomas
Last edited by tbo (2023-01-20 16:47:14)
Offline
Pages: 1