2010-11-29 17 views
0

php/Mail_mimeを使用して、以下のコードを使用してスタイル付きHTMLコンテンツを送信しています。php Mail/mimeを使用したhtmlとインライン画像の送信

$headers = array ('From' => $sender, 
      'To' => implode(',',$to), 
      'Subject' => $subject, 
      'Reply-To'=>'[email protected]', 
      'MIME-Version'=>'1.0', 
      'Content-Type'=>'text/html' 
    ); 
    /*end header*/ 

    $this->mime = new Mail_mime(); 
    $tt=$this->mime; 
    $tt->addBcc(implode(',',$bcc)); 
    $tt->addCc(implode(',',$cc)); 
    $tt->setTXTBody($text); 
    $tt->setHTMLBody($body); 
    $tt->addHTMLImage('../images/delete.gif'); 
// $tt->addAttachment('../images/delete.gif','image/gif'); 
    $mime_body = $tt->get(); 
    $mime_hdrs = $tt->headers($headers); 

    $smtp = Mail::factory('smtp', 
    array ('host' => $this->host, 
      'port' => $this->port, 
      'auth' => false, 
      'username' => $this->username, 
      'password' => $this->password)); 
    $recipients=array_merge($to,$cc,$bcc); 
    $mail = $smtp->send($recipients, $mime_hdrs, $mime_body); 

これはすべてクラスコードなので、ここには投稿されていないコンストラクタで初期化が行われます。

私の質問は、上記のコードは正常に動作しますが、送信された電子メールの正しいスタイルがわかりません。例えば

私は私の電子メールのメッセージ本文としてこれを持っている場合:私のメールに

<div style="background-color:silver;"> 

<h1> MYヘッダー</h1> </div>

、私だけマイヘッダーを見ることができます。背景は銀色ではなかった。

私は上記のコードで何が間違っていましたか?どんな助け?

+0

重複:https://stackoverflow.com/questions/536838/php-attaching-an-image-to-an-email – dAm2K

答えて

0

使用している電子メールプロバイダが電子メールにHTMLコードを許可していないか、許可されたHTMLコードでCSSスタイルを制限する可能性があります。どの電子メールプロバイダを使用していますか?

これは、htmlコードを許可するgmail.comのメールアドレスにメールを送信してテストし、違いがあるかどうかを確認したい場合があります。

もう一つは、firefoxでgoogle chromeやfirebugを使用している場合に、ビューソースを調べるか、要素を調べて、htmlコードがどこに配置されているかを確認することです。

+0

@Click Upvote - ** My Header **が表示され、HTMLが受け入れられたと仮定します。 – ajreal

+0

@ajreal h1、bなどのhtmlタグを許可してもdiv、spanなどの他のタグは許可しない可能性があります。私はあなたがGmailのような別の電子メールプロバイダを試すことをお勧めします –

+0

申し訳ありませんが、私はGmail、yahoo、1and1に送信すると同じ結果を得ました。私は1and1ドメインから送信しています。 – tkt986

関連する問題