2010-11-29 19 views
0

我使用php/Mail_mime使用下面的代碼發送樣式化的html內容。使用php發送html和內聯圖像Mail/mime

$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>我的頭</h1> </div>

在我的電子郵件,我只能看到我的頭。背景沒有顯示爲銀色。

我上面的代碼錯過了什麼。任何幫助?

+0

重複的https://stackoverflow.com/questions/536838/php-attaching-an-image-to-an-email – dAm2K 2017-06-05 23:15:10

回答

0

您所使用的電子郵件提供程序很可能不允許在電子郵件中使用HTML代碼,或者它會限制所允許的HTML代碼中的CSS樣式。你使用哪個電子郵件提供商?

您可能想要通過發送電子郵件到gmail.com電子郵件地址進行測試,該電子郵件地址允許使用html代碼,並查看它是否有任何區別。

要測試的另一件事是做一個視圖源或檢查元素,如果您在Firefox中使用谷歌瀏覽器或螢火蟲,並看看是否將HTML代碼放在應該在的位置。

+0

@Click Upvote - **我的標題**顯示,假設HTML被接受。 – ajreal 2010-11-29 22:39:16