0

私はzendを使用しています。以下は私のアクションのコードです

.......
 // 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を尊重しません。

出力を表示するには、litmusまたはemail on acidのいずれかを使用することをお勧めします。これにより、さまざまな電子メールクライアントでメッセージがどのように表示されるかが表示されます。

于 2011-09-30T07:55:39.510 に答える
0

まず、電子メールの送信元を表示して、電子メールに期待するCSSが含まれているかどうかを確認します。相対パスを使用している場合。これが問題の原因である可能性があります。たとえば、//example.com/helloのページにアクセスすると、 「//example.com/css/style.css」などのパスが「 /css/style.css」として要求されます。

電子メールクライアントにはそのような贅沢はありません。ドメイン名はありません。CSSへのフルパス、つまり「http://example.com/css/style.css」を指定する必要があります。

于 2011-09-30T07:56:31.467 に答える
0

この問題に対して私がしたことはインラインスタイルを適用することであり、それはうまく機能します。

于 2015-07-03T07:55:08.647 に答える