0

我正在使用 zend。以下是我在 Action 中的一段代码

.......
 // create view object
                $html = new Zend_View();
                $html->setScriptPath(APPLICATION_PATH . '/layouts/scripts/');
                // assign values                

                $html->assign('OrderList', $this->view->OrderList);
                $html->assign('title', 'Package Slip');
                $html->assign('current_date', date("F d, Y"));

                // render view
                $bodyText = $html->render('test.phtml');  
                $mail = new Zend_Mail('utf-8');
                $mail->setBodyHtml($bodyText)
                ->setFrom('noreply@metalxplus.com', 'admin')
                ->addTo('dineshkumar.m@openwavecomp.in')
                ->setSubject('Test');
                $mail->send(); 
........

当我在发送邮件之前回显这个 $bodyText 变量时,我得到了带有 css 的完整页面。但是当我将它发送到邮件时,css 不适用。我必须在这里做什么?好心劝告

4

3 回答 3

2

许多电子邮件客户端使用旧版本的 html,因此不尊重 css。例如,Gmail 不会尊重您添加到邮件中的任何 CSS。

要查看输出,我建议在 acid 上使用石蕊或电子邮件,以显示您的消息在一系列电子邮件客户端中的外观。

于 2011-09-30T07:55:39.510 回答
0

首先,查看电子邮件的来源,看看电子邮件是否包含您期望的 CSS。如果您使用的是相对路径;这可能是问题的根源。例如,当您访问//example.com/hello上的页面时, “/css/style.css”之类的路径将被请求为“//example.com/css/style.css”。

电子邮件客户端没有这种奢侈。它没有域名。您必须提供 CSS 的完整路径,即“http://example.com/css/style.css”。

于 2011-09-30T07:56:31.467 回答
0

对于这个问题,我所做的是应用内联样式并且效果很好。

于 2015-07-03T07:55:08.647 回答