Visual FoxPro
Visual FoxPro
Append (Upload) an Email to an IMAP Mailbox
See more IMAP Examples
Demonstrates the Chilkat Imap.AppendMail method, which uploads an Email object to a mailbox on the server. The first argument is the destination mailbox name and the second is the Email. After a successful append, the AppendUid property holds the UID the server assigned (or 0 if none was reported). This example uploads a newly built message to the Drafts mailbox.
Background: The IMAP
APPEND command lets a client add a message directly to any mailbox without sending it through SMTP — it is how "Save to Drafts" works, and how a client keeps its own copy in Sent. The initial \Seen state is governed by the AppendSeen property (or by the flag arguments of the AppendMimeWithFlags variants).Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loImap
LOCAL loEmail
lnSuccess = 0
* Demonstrates the Imap.AppendMail method, which uploads an Email object to a mailbox on the
* server. The 1st argument is the destination mailbox name and the 2nd is the Email.
loImap = CreateObject('Chilkat.Imap')
loImap.Ssl = 1
loImap.Port = 993
lnSuccess = loImap.Connect("imap.example.com")
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
CANCEL
ENDIF
lnSuccess = loImap.Login("user@example.com","myPassword")
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
CANCEL
ENDIF
* Build the email to be uploaded.
loEmail = CreateObject('Chilkat.Email')
loEmail.Subject = "Meeting agenda"
loEmail.From = "Alice <alice@example.com>"
lnSuccess = loEmail.AddTo("Bob","bob@example.com")
loEmail.Body = "Let's meet at 10am to review the agenda."
* Append (upload) the email to the "Drafts" mailbox.
lnSuccess = loImap.AppendMail("Drafts",loEmail)
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
RELEASE loEmail
CANCEL
ENDIF
* AppendUid holds the UID assigned by the server (0 if the server did not report one).
? "Appended UID: " + STR(loImap.AppendUid)
lnSuccess = loImap.Disconnect()
IF (lnSuccess = 0) THEN
? loImap.LastErrorText
RELEASE loImap
RELEASE loEmail
CANCEL
ENDIF
RELEASE loImap
RELEASE loEmail