Jump to content
duzzell

Use TIdMessage to construct rfc 5322 message?

Recommended Posts

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

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 by DelphiUdIT

Share this post


Link to post
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 by Remy Lebeau

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×