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
(Visual FoxPro) Forward an Email using CreateForwardReads an email from an IMAP server, creates a forward version of the email using the CreateForward method, and sends the email to another recipient.
LOCAL loImap LOCAL lnSuccess LOCAL lnNumEmails LOCAL loEmail LOCAL loEForward LOCAL loSbHtmlBody LOCAL loSbPtBody LOCAL loMailman * This example requires the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * Read the 1st (most recent) email in an Inbox. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Imap') loImap = CreateObject('Chilkat.Imap') * Connect to an IMAP server. loImap.Ssl = 1 loImap.Port = 993 lnSuccess = loImap.Connect("imap.someMailServer.com") IF (lnSuccess <> 1) THEN ? loImap.LastErrorText RELEASE loImap CANCEL ENDIF * Login lnSuccess = loImap.Login("myLogin","myPassword") IF (lnSuccess <> 1) THEN ? loImap.LastErrorText RELEASE loImap CANCEL ENDIF * Select an IMAP mailbox lnSuccess = loImap.SelectMailbox("Inbox") IF (lnSuccess <> 1) THEN ? loImap.LastErrorText RELEASE loImap CANCEL ENDIF lnNumEmails = loImap.NumMessages * Fetch the email at the last sequence number. * (We are assuming the Inbox has at least 1 email) loEmail = loImap.FetchSingle(lnNumEmails,0) IF (loImap.LastMethodSuccess = 0) THEN ? loImap.LastErrorText RELEASE loImap CANCEL ENDIF * Disconnect from the IMAP server. loImap.Disconnect() ? loEmail.Subject loEForward = loEmail.CreateForward() * The eForward email has no To or CC recipients yet. * Add one or more.. loEForward.AddTo("Chilkat Support","support@chilkatsoft.com") * We also need to specify the From name/address. loEForward.FromAddress = "matt@someMailServer.com" loEForward.FromName = "Matt" * If we wish to add text at the start of the email body: * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbHtmlBody = CreateObject('Chilkat.StringBuilder') IF (loEForward.HasHtmlBody() = 1) THEN loSbHtmlBody.Append(loEForward.GetHtmlBody()) loSbHtmlBody.Prepend("<p>Hello, this is an email I'm forwarding to you...</p>") loEForward.SetHtmlBody(loSbHtmlBody.GetAsString()) ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.StringBuilder') loSbPtBody = CreateObject('Chilkat.StringBuilder') IF (loEForward.HasPlainTextBody() = 1) THEN loSbPtBody.Append(loEForward.GetPlainTextBody()) loSbPtBody.Prepend("Hello, this is an email I'm forwarding to you..." + CHR(13) + CHR(10) + CHR(13) + CHR(10)) loEForward.SetTextBody(loSbPtBody.GetAsString(),"text/plain") ENDIF * We could save the .eml, then double-click on it to view in our mail program, such as Outlook or Thunderbird.. loEForward.SaveEml("qa_output/forward.eml") * We could send (forward) the email.. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.MailMan') loMailman = CreateObject('Chilkat.MailMan') loMailman.SmtpHost = "smtp.someMailServer.com" loMailman.SmtpUsername = "myLogin" loMailman.SmtpPassword = "myPassword" loMailman.SmtpPort = 587 loMailman.StartTLS = 1 lnSuccess = loMailman.SendEmail(loEForward) IF (lnSuccess <> 1) THEN ? loMailman.LastErrorText RELEASE loImap RELEASE loSbHtmlBody RELEASE loSbPtBody RELEASE loMailman CANCEL ENDIF lnSuccess = loMailman.CloseSmtpConnection() IF (lnSuccess <> 1) THEN ? "Connection to SMTP server not closed cleanly." ENDIF ? "Mail Sent!" RELEASE loEForward RELEASE loEmail RELEASE loImap RELEASE loSbHtmlBody RELEASE loSbPtBody RELEASE loMailman |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.