DataFlex
DataFlex
Send Email and Save Copy to "Sent" Mailbox
Sends an email and places a copy in the "Sent" mailbox on an IMAP server.This example demonstrates how to send an email and then upload a copy to an IMAP mail server's "Sent" mailbox. Note: You may need to create a "Sent" mailbox on your IMAP server prior to running this example. You may already have a mailbox named something different -- perhaps "Sent Items".
Important: If your mail server is POP3, the "Sent Items" mailbox is actually a file on your local computer managed by your email client, such as Outlook, Mozilla Thunderbird. This example does not save emails to Outlook or Mozilla Thunderbird "Sent Items" local files.
Chilkat DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoMailman
Variant vEmail
Handle hoEmail
Handle hoImap
String sTemp1
Move False To iSuccess
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Move False To iSuccess
// The mailman object is used for sending (SMTP) and receiving (POP3) email.
Get Create (RefClass(cComChilkatMailMan)) To hoMailman
If (Not(IsComObjectCreated(hoMailman))) Begin
Send CreateComObject of hoMailman
End
// Set the SMTP server.
Set ComSmtpHost Of hoMailman To "mail.mydomain.com"
Set ComSmtpUsername Of hoMailman To "myLogin"
Set ComSmtpPassword Of hoMailman To "myPassword"
// Create a new email object
Get Create (RefClass(cComChilkatEmail)) To hoEmail
If (Not(IsComObjectCreated(hoEmail))) Begin
Send CreateComObject of hoEmail
End
Set ComSubject Of hoEmail To "This is a test"
Set ComBody Of hoEmail To "This is a test"
Set ComFrom Of hoEmail To "Myself <myself@mydomain.com>"
Get ComAddTo Of hoEmail "Somebody" "somebody@somedomain.com" To iSuccess
Get pvComObject of hoEmail to vEmail
Get ComSendEmail Of hoMailman vEmail To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoMailman To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "Mail Sent!"
// Now use Chilkat IMAP to save the email to Inbox.Sent
Get Create (RefClass(cComChilkatImap)) To hoImap
If (Not(IsComObjectCreated(hoImap))) Begin
Send CreateComObject of hoImap
End
// Connect to an IMAP server.
// Use TLS
Set ComSsl Of hoImap To True
Set ComPort Of hoImap To 993
Get ComConnect Of hoImap "mail.mydomain.com" To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoImap To sTemp1
Showln sTemp1
Procedure_Return
End
// Login
Get ComLogin Of hoImap "myLogin" "myPassword" To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoImap To sTemp1
Showln sTemp1
Procedure_Return
End
// The AppendMail method uploads an email to an IMAP server
// and saves it in the mailbox specified:
Get pvComObject of hoEmail to vEmail
Get ComAppendMail Of hoImap "Inbox.Sent" vEmail To iSuccess
If (iSuccess <> True) Begin
Get ComLastErrorText Of hoImap To sTemp1
Showln sTemp1
Procedure_Return
End
Showln "Mail saved to Inbox.Sent"
End_Procedure