duzzell 0 Posted February 17 I need to construct a "raw email message" for AWS SES. The message will conform to the Internet Message Format, rfc 5322. Can I use Indy's TIdMessage to construct this message, similar to the way the JavaMail and Python email.mime libraries are used? Share this post Link to post
DelphiUdIT 187 Posted February 17 (edited) RFC 5322 was updated to RFC 6854 in 2013. In the Indy sources the last comment is on the RFC 2822 regulation (obsolete and replaced by RFC 5322). However, it is known that the comments have not been updated, nor have the existing manuals and docs been updated. The only one who could answer you is @Remy Lebeau This is also a discussion about this argument: https://stackoverflow.com/questions/25576292/indy-smtp-server-how-to-detect-cc-bcc-recipients Edited February 17 by DelphiUdIT Share this post Link to post
Remy Lebeau 1436 Posted February 17 (edited) 4 hours ago, DelphiUdIT said: RFC 5322 was updated to RFC 6854 in 2013. In the Indy sources the last comment is on the RFC 2822 regulation (obsolete and replaced by RFC 5322). However, it is known that the comments have not been updated, nor have the existing manuals and docs been updated. The only one who could answer you is @Remy Lebeau Indy does not implement RFC 6854 (I didn't even know that existed). It does implement 822/2822, but I don't recall to what extent it implements 5322 (perhaps just aspects of it?). 6 hours ago, duzzell said: Can I use Indy's TIdMessage to construct this message Most likely, yes, as long as you don't need to use some modern email features, like signing, etc. If you run into problems, let me know. Do be aware that, by default, TIdMessage saves its data to a TStream/file using a dot-transparency format (ie, lines that begin with a period are escaped with an extra period) that is intended for use with the SMTP and POP3 protocols but not with other protocols. So, you will likely need to utilize the class helper in the IdMessageHelper unit, which adds an AUsesDotTransparency parameter to the TIdMessage.SaveTo...() methods, then you can set that parameter to False. Edited February 17 by Remy Lebeau Share this post Link to post