Package Home

Zend Framework 2 Documentation (Manual)

PHK Home

File: /modules/zend.mail.encoding.html

Size:9025
Storage flags:no_autoload,compress/gzip (35%)

Encoding — Zend Framework 2 2.4.2 documentation

EncodingΒΆ

Text and HTML message bodies are encoded with the quotedprintable mechanism by default. Message headers are also encoded with the quotedprintable mechanism if you do not specify base64 in setHeaderEncoding(). If you use language that is not Roman letters-based, the base64 would be more suitable. All other attachments are encoded via base64 if no other encoding is given in the addAttachment() call or assigned to the MIME part object later. 7Bit and 8Bit encoding currently only pass on the binary content data.

Header Encoding, especially the encoding of the subject, is a tricky topic. Zend\Mail\Message currently implements its own algorithm to encode quoted printable headers according to RFC-2045. This due to the problems of iconv_mime_encode() and mb_encode_mimeheader with regards to certain charsets. This algorithm only breaks the header at spaces, which might lead to headers that far exceed the suggested length of 76 chars. For this cases it is suggested to switch to BASE64 header encoding same as the following example describes:

1
2
3
4
5
6
// By default Zend\Mime\Mime::ENCODING_QUOTEDPRINTABLE
$mail = new Zend\Mail\Message('KOI8-R');

// Reset to Base64 Encoding because Russian expressed in KOI8-R is
// different from Roman letters-based languages greatly.
$mail->setHeaderEncoding(Zend\Mime\Mime::ENCODING_BASE64);

Zend\Mail\Transport\Smtp encodes lines starting with one dot or two dots so that the mail does not violate the SMTP protocol.

This Page

Note: You need to stay logged into your GitHub account to contribute to the documentation.

Edit this document

Edit this document

The source code of this file is hosted on GitHub. Everyone can update and fix errors in this document with few clicks - no downloads needed.

  1. Login with your GitHub account.
  2. Go to Encoding on GitHub.
  3. Edit file contents using GitHub's text editor in your web browser
  4. Fill in the Commit message text box at the end of the page telling why you did the changes. Press Propose file change button next to it when done.
  5. On Send a pull request page you don't need to fill in text anymore. Just press Send pull request button.
  6. Your changes are now queued for review under project's Pull requests tab on GitHub.

For more information about the PHK package format: http://phk.tekwire.net