HTML未在电子邮件中解码

时间:2014-01-23 06:50:57

标签: opencart

我在opencart中使用电子邮件发送代码但在电子邮件中html未解码 我的代码是

                $email_message = "<table>";
                $email_message .= "<td><h1>Congratulations!</h1></td>";
                $email_message .= "<td>"."Valued Customer,"."</td>";
                $email_message .= "<td>Message</td>";
                $email_message .= "</table>";

                $email_to =  $this->request->post['subscribe_email'];
                $mail = new Mail();

                $mail->protocol = $this->config->get('config_mail_protocol');
                $mail->parameter = $this->config->get('config_mail_parameter');
                $mail->hostname = $this->config->get('config_smtp_host');
                $mail->username = $this->config->get('config_smtp_username');
                $mail->password = $this->config->get('config_smtp_password');
                $mail->port = $this->config->get('config_smtp_port');
                $mail->timeout = $this->config->get('config_smtp_timeout');            
                $mail->setTo($email_to);
                $mail->setFrom("xyz@xyz.com");
                $mail->setSender("xyz@xyz.com");
                $mail->setSubject("Congratulations!");
                $mail->setText(html_entity_decode($email_message, ENT_QUOTES, 'UTF-8'));

                $mail->send();

请帮助我!

3 个答案:

答案 0 :(得分:2)

变化:
$mail->setText(html_entity_decode($email_message, ENT_QUOTES, 'UTF-8'));

为:

$mail->setHtml($email_message);

度过愉快的一天:) !!

答案 1 :(得分:1)

setText替换为setHtml并传递$email_message变量

$ MAIL-&GT; setHtml($ email_message);

答案 2 :(得分:0)

使用以下可行的代码

            $email_message = "<html>";
            $email_message = "<body>";
            $email_message = "<table>";
            $email_message .= "<td><h1>Congratulations!</h1></td>";
            $email_message .= "<td>"."Valued Customer,"."</td>";
            $email_message .= "<td>Message</td>";
            $email_message .= "</table>";
            $email_message = "</body>";
            $email_message = "</html>";   

            $email_to =  $this->request->post['subscribe_email'];
            $mail = new Mail();

            $mail->protocol = $this->config->get('config_mail_protocol');
            $mail->parameter = $this->config->get('config_mail_parameter');
            $mail->hostname = $this->config->get('config_smtp_host');
            $mail->username = $this->config->get('config_smtp_username');
            $mail->password = $this->config->get('config_smtp_password');
            $mail->port = $this->config->get('config_smtp_port');
            $mail->timeout = $this->config->get('config_smtp_timeout');            
            $mail->setTo($email_to);
            $mail->setFrom("xyz@xyz.com");
            $mail->setSender("xyz@xyz.com");
            $mail->setSubject("Congratulations!");
            $mail->setText(html_entity_decode($email_message, ENT_QUOTES, 'UTF-8'));

            $mail->send();