AutoIt
AutoIt
Email BCC Recipients
See more Email Object Examples
Explains the meaning of BCC recipients, how it is different than CC recipients, and how Chilkat handles BCC.Chilkat AutoIt Downloads
; In the context of email communication, the BCC (Blind Carbon Copy) field is used to send a copy of an email
; to recipients without revealing their addresses to other recipients. When it comes to the MIME
; header of an email, the BCC email addresses should not be included.
;
; The MIME header is a part of an email message that contains metadata and other information about the email,
; such as the sender, recipient(s), subject, and other details. However, the BCC field is meant to be a confidential field,
; and its purpose is to hide the recipients� email addresses from each other.
;
; Including BCC email addresses in the MIME header would defeat the purpose of using BCC since it would expose
; the hidden recipients� addresses to the other recipients. This violates the intended privacy and confidentiality of the BCC feature.
;
; To maintain the confidentiality of BCC recipients, the BCC field should only be used in the envelope of
; the email during the SMTP (Simple Mail Transfer Protocol) transaction. The SMTP server handles the actual
; delivery of the email to the respective recipients while keeping the BCC information hidden from other recipients.
;
; It is important to ensure that BCC email addresses are not included in the MIME header of an email to
; preserve the privacy and confidentiality of the recipients.
; -----------------------------------------------------------------------------------------
; To discuss how Chilkat handles BCC, let's first create an email with some BCC recipients.
$oEmail = ObjCreate("Chilkat.Email")
$oEmail.AddTo("Joe","joe@example.com")
$oEmail.AddTo("Mary","mary@example.com")
$oEmail.AddCC("Steve","steve@example.com")
$oEmail.AddBcc("Jerry","jerry@example.com")
$oEmail.AddBcc("Tom","tom@example.com")
$oEmail.Subject = "test"
$oEmail.Body = "test"
; Let's examine the MIME
ConsoleWrite($oEmail.GetMime() & @CRLF)
ConsoleWrite("----------------" & @CRLF)
; We have the following.
; Notice the BCC addresses are not present. They are not included in the MIME header.
; MIME-Version: 1.0
; Date: Mon, 10 Jul 2023 13:57:22 -0500
; Message-ID: <34606FFCB4A440B20E549A223F2F7BF0EB10EE2C@SLICE>
; Content-Type: text/plain; charset=us-ascii; format=flowed
; Content-Transfer-Encoding: 7bit
; X-Priority: 3 (Normal)
; To: Joe <joe@example.com>, Mary <mary@example.com>
; Cc: Steve <steve@example.com>
; Subject: test
;
; test
; However the BCC address are still stored in the Chilkat email object.
; For example, you can examine the BCC recipients in the email object like this:
Local $iNumBcc = $oEmail.NumBcc
ConsoleWrite("Num BCC recipients = " & $iNumBcc & @CRLF)
Local $i = 0
While $i < $iNumBcc
ConsoleWrite($i & @CRLF)
ConsoleWrite($oEmail.GetBcc($i) & @CRLF)
ConsoleWrite($oEmail.GetBccName($i) & @CRLF)
ConsoleWrite($oEmail.GetBccAddr($i) & @CRLF)
ConsoleWrite("-----" & @CRLF)
$i = $i + 1
Wend
; Output:
; Num BCC recipients = 2
; 0
; Jerry <jerry@example.com>
; Jerry
; jerry@example.com
; -----
; 1
; Tom <tom@example.com>
; Tom
; tom@example.com
; -----
; Thus, when the email is sent, it will also be sent to the BCC recipients,
; but the email received by each of the recipients (i.e. the raw MIME of the email)
; should not and will not include the BCC email addresses. There should be no way
; for the recipients to know that the email was sent to the BCC addresses -- because if
; there is a way to know, then it is not truly BCC.