http://framework.zend.com/issues/browse/ZF-1688
This might be relative somehow.
I see issues in there too...code is using strlen etc..which is quite
inappropriate for
multibyte chars.

Jacky Chen wrote:
> Hi Simone,
>  
> the code for sending emails are following:
>  
>
>         $tr = new Zend_Mail_Transport_Smtp($mailConfig->host,
> $mailConfig->options->toArray());
>         Zend_Mail::setDefaultTransport($tr);
>         $mail = new Zend_Mail('utf8');
>
>         $mail->setBodyHtml($body);
>         $mail->setBodyText($body);
>         $mail->setFrom($mailConfig->from, $mailConfig->sender);
>         $mail->addTo($email);
>         $mail->setSubject($subject);
>         try {
>             $mail->send();
>             return true;
>         } catch (Exception $e) {
>             return false;
>         }
>
> and the subject and body contains Chinese characters.
>  
> I search the solution for solve this problem,and i found that the
> problem would be in the Zend_Mail::_encodeHeader() methods.
>  
> the code of the _encodeHeader() methods are following:
>  
>     protected function _encodeHeader($value)
>     {
>       if (Zend_Mime::isPrintable($value)) {
>           return $value;
>       } else {
>           $quotedValue = Zend_Mime::encodeQuotedPrintable($value);
>           $quotedValue = str_replace(array('?', ' '), array('=3F',
> '=20'), $quotedValue);
>           return '=?' . $this->_charset . '?Q?' . $quotedValue . '?=';
>       }
>     }
>  
> if change it like this:
>  
>     protected function _encodeHeader($value)
>     {
>       if (Zend_Mime::isPrintable($value)) {
>           return $value;
>       } else {
>           return '=?'.$this->_charset.'?B?'.base64_encode($value).'?=';
>       }
>     }
>  
> the problem is soloved.
>  
> 2007/12/29, Jacky Chen <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>:
>
>     Hi Simone,
>      
>     the code for sending emails are following:
>      
>
>             $tr = new Zend_Mail_Transport_Smtp($mailConfig->host,
>     $mailConfig->options->toArray());
>             Zend_Mail::setDefaultTransport($tr);
>             $mail = new Zend_Mail('utf8');
>
>             $mail->setBodyHtml($body);
>             $mail->setBodyText($body);
>             $mail->setFrom($mailConfig->from, $mailConfig->sender);
>             $mail->addTo($email);
>             $mail->setSubject($subject);
>             try {
>                 $mail->send();
>                 return true;
>             } catch (Exception $e) {
>                 return false;
>             }
>
>     and the subject and body contains Chinese characters.
>
>      
>     2007/12/29, Simone Carletti <[EMAIL PROTECTED]
>     <mailto:[EMAIL PROTECTED]>>:
>
>
>         It would be helpful if you post here a sample code you use for
>         sending
>         emails.
>         A real example would be wonderful. :)
>
>         -- Simone
>
>
>         Jacky Chen-2 wrote:
>         >
>         > Hi all,
>         >
>         > I send mail with Zend_Mail,and i received the mail body as
>         following.What
>         > is
>         > the problem?
>         >
>         > =E5=96=84=E8=B5=84=E6=96=99?=
>         > Content-Type: multipart/alternative; charset="utf8";
>         >  boundary="=_a63f032d182e04daf6311fe5329bef65"
>         > MIME-Version: 1.0
>         >
>         > --=_a63f032d182e04daf6311fe5329bef65
>         > Content-Type: text/plain; charset="utf8"
>         > Content-Transfer-Encoding: quoted-printable
>         >
>         > 
> =E4=BA=B2=E7=88=B1=E7=9A=84=E7=94=A8=E6=88=B7=E6=82=A8=E5=A5=BD=EF=BC=81<p=
>         
> >>=E6=AC=A2=E8=BF=8E=E5=8A=A0=E5=85=A5HeySpace=E5=A4=A7=E5=AE=B6=E5=BA=AD=
>
>         > 
> =EF=BC=8C=E8=AF=B7=E7=82=B9=E5=87=BB=E4=BB=A5=E4=B8=8B=E9=93=BE=E6=8E=A5=
>         > =E5=AE=8C=E5=96=84=E6=82=A8=E7=9A=84=E8=B5=84=E6=96=99=EF=BC=9A<br
>         />
>         > /passport/register/email/jacky.hf%40gmail.com/active/ec=
>         > 61998014a83f48a84e0b3dbafeb01f </p>
>         >
>         > --=_a63f032d182e04daf6311fe5329bef65
>         > Content-Type: text/html; charset="utf8"
>         > Content-Transfer-Encoding: quoted-printable
>         >
>         > 
> =E4=BA=B2=E7=88=B1=E7=9A=84=E7=94=A8=E6=88=B7=E6=82=A8=E5=A5=BD=EF=BC=81<p=
>         
> >>=E6=AC=A2=E8=BF=8E=E5=8A=A0=E5=85=A5HeySpace=E5=A4=A7=E5=AE=B6=E5=BA=AD=
>         > 
> =EF=BC=8C=E8=AF=B7=E7=82=B9=E5=87=BB=E4=BB=A5=E4=B8=8B=E9=93=BE=E6=8E=A5=
>
>         > =E5=AE=8C=E5=96=84=E6=82=A8=E7=9A=84=E8=B5=84=E6=96=99=EF=BC=9A<br
>         />
>         > /passport/register/email/jacky.hf%40gmail.com/active/ec=
>         > 61998014a83f48a84e0b3dbafeb01f </p>
>         >
>         > --=_a63f032d182e04daf6311fe5329bef65--
>         >
>         >
>
>         --
>         View this message in context:
>         http://www.nabble.com/Zend_Mail-Bug--tp14521843s16154p14532427.html
>         <http://www.nabble.com/Zend_Mail-Bug--tp14521843s16154p14532427.html>
>         Sent from the Zend Framework mailing list archive at
>         Nabble.com <http://nabble.com/>.
>
>
>

Reply via email to