4

我有一个小问题。我正在使用这段代码在我的自定义模块中发送邮件:

$content = 'Wiadomość testowa ąśźć';

$mail = Mage::getModel('core/email');
        $mail->setToName($name);
        $mail->setToEmail($email);
        $mail->setBody($content);
        $mail->setSubject($subject);
        $mail->setFromEmail('test@test.com');
        $mail->setFromName("Test");
        $mail->setType('html');

        try {
            $mail->send();
            Mage::getSingleton('customer/session')->setData('success',Mage::helper('adminhtml')->__('Your request has been sent'));
        }
        catch (Exception $e) {
            Mage::getSingleton('customer/session')->setData('error',Mage::helper('adminhtml')->__('Unable to send email.'));
        }

如何在 magento 邮件功能中发送电子邮件之前设置 utf-8 字符集。? 我收到的电子邮件正文中没有 utf-8 字符集。

已解决我在帮助程序中创建了sendZendMail 函数。我使用了这个功能,而不是Magento core/email

public function sendZendMail($name,$email,$subject,$content){
    $mail = new Zend_Mail('UTF-8');
    $mail->setBodyHtml($content);
    $mail->setFrom('your@frommail.com');
    $mail->addTo($email, 'No reply');
    $mail->setSubject($subject);
    try {
        $mail->send();
        Mage::getSingleton('core/session')->addSuccess('Mail was sucessfully send.');
    }
    catch(Exception $ex) {
        Mage::getSingleton('core/session')->addError('Unable to send email.');
    }       
}
4

1 回答 1

4

克里斯托夫,我以前也遇到过同样的问题,葡萄牙语也有特殊字符。我已经通过使用函数 htmlentities() 对重音词进行了整理。Zend 邮件对象有点​​迟钝。我希望它有所帮助。

于 2013-06-25T22:57:08.597 回答