 |
Creating and sending HTML email in Visual Basic - Part
5
|
by: AfterLogic
Advanced
Topics
This tutorial covers body and alternative body
encoding usage and limitations using AfterLogic's MailBee
SMTP component in Visual Basic. It compares encoding methods
available in
MailBee
(Quoted-Printable and Base64).
Tutorial map:
Part 1 - Sending simple HTML e-mail
Part 2 - Importing HTML file into message
body
Part 3 - Assembling body text from different
sources
Part 4 - Building alternative message body
Part 5 - Advanced topics
HTML documents may contain symbols that are not allowed by email standards.
For example, some mail gateways truncate all 8bit symbols to 7bit making it's
impossible for extended characters (with ASCII codes bigger than 127) to pass
through such gateways.
The process of encoding converts source text into form that can be freely
transmitted by all mail gateways. Once received, the text is decoded, and original
text is restored.
Different encoding methods fit better for different text patterns. If the
source contains mostly 7bit characters, Quoted-Printable encoding is preferred.
Base64 encoding is more suitable for binary data (binaries usually contain
lots of 8bit characters) or for texts written in extended charsets such as
UTF-8 or Cyrillic.
Default BodyEncoding setting is Quoted-Printable (QP for short).
Note 1: You might need to change
default encoding setting only if you are concerned about the message body
size (in some cases, Quoted-Printable is more
space-consuming than Base64 or "no encoding" encodings) or if you
have to support very old e-mail clients which do not support Quoted-Printable
(in this case, you should use "no encoding" method BodyEncoding=0).
Note 2: The
side (usually positive) effect of using Base64 or Quoted-Printable encoding
instead of "no encoding" is
keeping original line-wrapping of plain-text content.
Code example:
' The code below is common for all examples in this topic
Dim Mailer
' Using Visual Basic to create object
Set Mailer = CreateObject("MailBee.SMTP")
' Using ASP to create object
' Set Mailer = Server.CreateObject("MailBee.SMTP")
Mailer.LicenseKey = "put your
license key here"
Mailer.ServerName = "mail.server.com"
' The code below is specific to this sample
Mailer.Message.ToAddr = "bill@yoursite.com"
Mailer.Message.FromAddr = "joe@mysite.com"
Mailer.Message.Subject = "Hello"
' Put extended char (trademark character) into the body
Mailer.Message.BodyText = "<html><body>MailBee™</body></html>"
' Set HTML format for the body
Mailer.Message.BodyFormat = 1
' Force Quoted-Printable (QP) encoding.
' However, QP is a default setting, so the next
' line can be omitted, and shown for clarity only
Mailer.Message.BodyEncoding = 2
Mailer.Send
Mailer.Disconnect
If the message includes alternative body (AltBodyText is non-empty), it's
recommended to encode this body too.
AltBodyEncoding property sets encoding method for AltBodyText in the same
manner as BodyEncoding sets encoding for BodyText.
Code example:
' The code below is common for all examples in this topic
Dim Mailer
' Using Visual Basic to create object
Set Mailer = CreateObject("MailBee.SMTP")
' Using ASP to create object
' Set Mailer = Server.CreateObject("MailBee.SMTP")
Mailer.LicenseKey = "put your
license key here"
Mailer.ServerName = "mail.server.com"
' The code below is specific to this sample
Mailer.Message.ToAddr = "bill@yoursite.com"
Mailer.Message.FromAddr = "joe@mysite.com"
Mailer.Message.Subject = "Hello"
' Put extended char (trademark character) into HTML body
Mailer.Message.BodyText = "<html><body>MailBee™</body></html>"
' Put extended char (trademark character) into plain-text body
Mailer.Message.AltBodyText = "MailBee™"
' Set HTML format for the body
Mailer.Message.BodyFormat = 1
' Enable Base64 encoding.
' In fact, QP is more efficient here,
' so Base64 is used for illustration purposes only.
Mailer.Message.AltBodyEncoding = 3
' Enable QP encoding to illustrate that
' HTML body and plain-text body can use
' different encoding methods
Mailer.Message.BodyEncoding = 2
Mailer.Send
Mailer.Disconnect
About AfterLogic
AfterLogic specializes in email and messaging components.
You can visit AfterLogic at http://www.afterlogic.com/.
Here you can download evaluations for all their email and messaging components
and get
support.
© Copyright 2002-2005 Afterlogic,
an iForum LLC division
|