AutoIt
AutoIt
Forward by Attaching the Existing Email to a New Email
See more Email Object Examples
Demonstrates how to forward an email by attaching the email to a new email.This example reads an email from an IMAP server, attaches the email to a new email, and sends the new email.
Chilkat AutoIt Downloads
Local $bSuccess = False
; 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.
$oImap = ObjCreate("Chilkat.Imap")
; Connect to an IMAP server.
$oImap.Ssl = True
$oImap.Port = 993
$bSuccess = $oImap.Connect("imap.example.com")
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
; Login
$bSuccess = $oImap.Login("myLogin","myPassword")
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
; Select an IMAP mailbox
$bSuccess = $oImap.SelectMailbox("Inbox")
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
Local $iNumEmails = $oImap.NumMessages
; Fetch the email at the last sequence number.
; (We are assuming the Inbox has at least 1 email)
$oEmail = ObjCreate("Chilkat.Email")
$bSuccess = $oImap.FetchEmail(False,$iNumEmails,False,$oEmail)
If ($bSuccess = False) Then
ConsoleWrite($oImap.LastErrorText & @CRLF)
Exit
EndIf
; Disconnect from the IMAP server.
$oImap.Disconnect()
ConsoleWrite($oEmail.Subject & @CRLF)
; Create a new email. The email we just read will be attached to this email.
$oEForward = ObjCreate("Chilkat.Email")
$oEForward.AddTo("Joe","joe@example.com")
$oEForward.FromAddress = "matt@somewhere.com"
$oEForward.FromName = "Matt"
$oEForward.Subject = "This is an email with another email attached."
$oEForward.SetHtmlBody "<p>Hello, this is an email I'm forwarding to you. See the attached email.</p>"
; Attach the email.
$oEForward.AttachEmail($oEmail)
; We could save the .eml, then double-click on it to view in our mail program, such as Outlook or Thunderbird..
$oEForward.SaveEml("qa_output/forward.eml")
; We could send (forward) the email..
$oMailman = ObjCreate("Chilkat.MailMan")
$oMailman.SmtpHost = "smtp.example.com"
$oMailman.SmtpUsername = "myLogin"
$oMailman.SmtpPassword = "myPassword"
$oMailman.SmtpPort = 587
$oMailman.StartTLS = True
$bSuccess = $oMailman.SendEmail($oEForward)
If ($bSuccess = False) Then
ConsoleWrite($oMailman.LastErrorText & @CRLF)
Exit
EndIf
$bSuccess = $oMailman.CloseSmtpConnection()
If ($bSuccess <> True) Then
ConsoleWrite("Connection to SMTP server not closed cleanly." & @CRLF)
EndIf
ConsoleWrite("Mail Sent!" & @CRLF)