Sample code for 30+ languages & platforms
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

AutoIt
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)