EncodeHeaderText Method


Encodes specified text string to allow using international characters (Japan, Korean, Russian, etc.) and very long header lines.

By default only "us-english" header string not longer 76 characters length are allowed by MIME standard. Header encoding eliminates the problem.

This method does not change message headers. It just returns encoded string you may assign to the message header value.

Note: Some headers ("From", "To", "CC") contain e-mail address (it MUST NOT be encoded). So you must always properly set HeaderName so MailBee will use special encoding for address-containing headers.


strEncodedString = ObjectName.EncodeHeaderText(HeaderName, HeaderText, Charset, Encoding)  
Parameters:  
HeaderName As String Case-insensitive name of the header to encode (like "Subject", "From", "To", "name")  
HeaderText As String Text to encode (header value)  
Charset As String Charset used for composing HeaderText (for example, "windows-1251" if HeaderText is written in Russian)  
Encoding As Long Specifies encoding to use. Only two encoding schemes are applicable for header encoding:
- Encoding = 2 - Quoted-Printable encoding
- Encoding = 3 - Base64 encoding
 
Return value As Boolean On success, encoded value of HeaderText. On error, empty string.  
Remarks: You can also use this method to encode attachment filenames containing international characters. An example below shows this.

Usage example:

Dim Mailer, strFilename
'Using visual basic to create object
Set Mailer = CreateObject("MailBee.SMTP")
'Using ASP to create object
'Set Mailer = Server.CreateObject("MailBee.SMTP")
'In ASP use Response.Write instead of MsgBox
Mailer.LicenseKey = "put your license key here"
Mailer.ServerName = "mail.server.com"
If Mailer.Connect Then
  Mailer.Message.ToAddr = "bill@yoursite.com"
  Mailer.Message.FromAddr = Mailer.EncodeHeaderText("From", "°UOUa<alex@server.ru>", "windows-1251", 3)
  Mailer.Message.Subject = "Hello, There is word 'Alex' written in Russian in 'From' field"
  Mailer.Message.ImportBodyText "C:\docs\letter.htm", True
  strFilename = Mailer.Message.EncodeHeaderText("name", "long or weird filename to encode.htm", "us-english", 2)
  Mailer.Message.AddAttachment "C:\docs\long or weird filename to encode.htm",,, strFilename
  Mailer.Send
  Mailer.Disconnect
End If

See Also:

AddAttachment Method
BodyText Property
AltBodyText Property


Copyright 2002-2008, AfterLogic Corporation. All rights reserved.