DataFlex
DataFlex
Save an Email to a .eml File
See more Email Object Examples
Demonstrates the Chilkat Email.SaveEml method, which converts the email object to EML and saves it to a file. An EML file contains the complete RFC822/MIME message — headers, bodies, related items, and attachments. This example builds a message and saves it.
Background: Saving as
.eml writes the message in the universal MIME format that virtually every mail client can open, making it ideal for archiving, sharing, or handing a message to another program. It is the counterpart to LoadEml. A saved .eml also retains Chilkat's CKX- metadata headers (a way to store your own metadata with the email; they are always stripped before an email is sent), so .eml is the recommended way to persist a message even within Chilkat-based software. A separate Chilkat XML format (SaveXml) exists as an alternative, but offers no metadata advantage over .eml.Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoEmail
String sTemp1
Move False To iSuccess
// Demonstrates the SaveEml method, which converts the email object to EML and saves it to
// a file. An EML file contains the complete RFC822/MIME message, including headers,
// bodies, related items, and attachments.
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Set ComSubject Of hoEmail To "Save as EML"
Set ComFrom Of hoEmail To "alice@example.com"
Get ComAddTo Of hoEmail "Bob" "bob@example.com" To iSuccess
Set ComBody Of hoEmail To "Hello, this message will be saved as a .eml file."
// Save the email to a .eml file.
Get ComSaveEml Of hoEmail "qa_output/message.eml" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoEmail To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "Saved to message.eml."
// Note: The path "qa_output/..." is a relative local filesystem path,
// relative to the current working directory of the running application.
End_Procedure