Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(PureBasic) Send Email and Save Copy to "Sent" MailboxSends 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.
IncludeFile "CkGlobal.pb" IncludeFile "CkImap.pb" IncludeFile "CkEmail.pb" IncludeFile "CkMailMan.pb" Procedure ChilkatExample() ; Starting in v9.5.0.49, all Chilkat classes can be unlocked at once at the beginning of a program ; by calling UnlockBundle. It requires a Bundle unlock code. chilkatGlob.i = CkGlobal::ckCreate() If chilkatGlob.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i = CkGlobal::ckUnlockBundle(chilkatGlob,"Anything for 30-day trial.") If success <> 1 Debug CkGlobal::ckLastErrorText(chilkatGlob) CkGlobal::ckDispose(chilkatGlob) ProcedureReturn EndIf ; The mailman object is used for sending (SMTP) and receiving (POP3) email. mailman.i = CkMailMan::ckCreate() If mailman.i = 0 Debug "Failed to create object." ProcedureReturn EndIf success.i ; Set the SMTP server. CkMailMan::setCkSmtpHost(mailman, "mail.mydomain.com") CkMailMan::setCkSmtpUsername(mailman, "myLogin") CkMailMan::setCkSmtpPassword(mailman, "myPassword") ; Create a new email object email.i = CkEmail::ckCreate() If email.i = 0 Debug "Failed to create object." ProcedureReturn EndIf CkEmail::setCkSubject(email, "This is a test") CkEmail::setCkBody(email, "This is a test") CkEmail::setCkFrom(email, "Myself <myself@mydomain.com>") success = CkEmail::ckAddTo(email,"Somebody","somebody@somedomain.com") success = CkMailMan::ckSendEmail(mailman,email) If success <> 1 Debug CkMailMan::ckLastErrorText(mailman) CkGlobal::ckDispose(chilkatGlob) CkMailMan::ckDispose(mailman) CkEmail::ckDispose(email) ProcedureReturn EndIf Debug "Mail Sent!" ; Now use Chilkat IMAP to save the email to Inbox.Sent imap.i = CkImap::ckCreate() If imap.i = 0 Debug "Failed to create object." ProcedureReturn EndIf ; Connect to an IMAP server. ; Use TLS CkImap::setCkSsl(imap, 1) CkImap::setCkPort(imap, 993) success = CkImap::ckConnect(imap,"mail.mydomain.com") If success <> 1 Debug CkImap::ckLastErrorText(imap) CkGlobal::ckDispose(chilkatGlob) CkMailMan::ckDispose(mailman) CkEmail::ckDispose(email) CkImap::ckDispose(imap) ProcedureReturn EndIf ; Login success = CkImap::ckLogin(imap,"myLogin","myPassword") If success <> 1 Debug CkImap::ckLastErrorText(imap) CkGlobal::ckDispose(chilkatGlob) CkMailMan::ckDispose(mailman) CkEmail::ckDispose(email) CkImap::ckDispose(imap) ProcedureReturn EndIf ; The AppendMail method uploads an email to an IMAP server ; and saves it in the mailbox specified: success = CkImap::ckAppendMail(imap,"Inbox.Sent",email) If success <> 1 Debug CkImap::ckLastErrorText(imap) CkGlobal::ckDispose(chilkatGlob) CkMailMan::ckDispose(mailman) CkEmail::ckDispose(email) CkImap::ckDispose(imap) ProcedureReturn EndIf Debug "Mail saved to Inbox.Sent" CkGlobal::ckDispose(chilkatGlob) CkMailMan::ckDispose(mailman) CkEmail::ckDispose(email) CkImap::ckDispose(imap) ProcedureReturn EndProcedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.