2013-12-23 53 views
1

我正在開發一個Web應用程序,它生成一些QR碼並通過郵件發送給客戶端。Gmail轉換並刪除HTML和CSS內容

我讀過,讓gmail正確解釋郵件的CSS等。我應該以內聯的方式將它包含在HTML中。

這是我的代碼:

// Headers 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
$headers .= 'Content-Transfer-Encoding: base64' . "\r\n"; 
$headers .= 'To: ' . $qremail . "\r\n"; 
$headers .= 'From: Mehdi' . "\r\n"; 

$qr_images_url = "http://" . $_SERVER['HTTP_HOST'] . "/GPAYME-ticket/" . $PNG_WEB_DIR; 

// Loop on the QR images 

$html_email .= "<img src='" . $qr_images_url . $qr_image_name . "' style='min-width: 225px; width: 225px; max-width: 225px; min-height: 225px; height: 225px; max-height: 225px; margin-right: 15px; border: 2px solid #D8D4D4; margin-bottom: 15px;' />"; 

// END of the Loop on the QR images 

mail($email, $subject, $html_email, $headers); 

及其後發送郵件。

所以<img />標籤應該是這樣的:

<img src="http://croisentoi.com/GPAYME-ticket/QRTemp/Qr-Ticket-60ac6339aa0c9cb6121160d55f769882.png" style="min-width:225px;width:225px;max-width:225px;min-height:225px;min-height:225px;max-height:225px;margin-right:15px;border:2px solid #d8d4d4;margin-bottom:15px"> 

當接收郵件居然有5例<img />標籤的Gmail的interpretaion在它的內容:

1.一切正常工作:<img src="http://croisentoi.com/GPAYME-ticket/QRTemp/Qr-Ticket-60ac6339aa0c9cb6121160d55f769882.png" style="min-width:225px;width:225px;max-width:225px;min-height:225px;min-height:225px;max-height:225px;margin-right:15px;border:2px solid #d8d4d4;margin-bottom:15px">

2.圖像源url屬性被刪除:<img style="min-width:225px;width:225px;max-width:225px;min-height:225px;min-height:225px;max-height:225px;margin-right:15px;border:2px solid #d8d4d4;margin-bottom:15px">

3.風格屬性被刪除:​​

4. Gmail的在這種情況下(中/ G + PAYME代替/ GPAYME)將在源URL屬性+一個額外的字符:<img src="http://croisentoi.com/G+PAYME-ticket/QRTemp/Qr-Ticket-368940b3754eb9c2b0fd57285efc9535.png" style="min-width:225px;width:225px;max-width:225px;min-height:225px;min-height:225px;max-height:225px;margin-right:15px;border:2px solid #d8d4d4;margin-bottom:15px">

5.在本例中,Gmail在CSS樣式屬性中添加了額外的空間(width:2 25px;代替寬度:225px;):<img src="http://croisentoi.com/GPAYME-ticket/QRTemp/Qr-Ticket-368940b3754eb9c2b0fd57285efc9535.png" style="min-width:225px;width:2 25px;max-width:225px;min-height:225px;min-height:225px;max-height:225px;margin-right:15px;border:2px solid #d8d4d4;margin-bottom:15px">

P.S:爲了清楚我已刪除的Gmail通過在<img src=

加入你請對此有任何想法多餘的網址?謝謝。

回答

1

看來你發送的電子郵件沒有考慮(base64編碼?)最大線寬。通過這種方式,某些空白符被插入某個地方,或者某些部分丟失。

如果是這樣的話,你能解釋一下你所有的例子:在一行

  • 空間src屬性名稱(即「s rc」)在style
  • 空間

    1. 沒有分裂,所有屬性名稱(即, 「st lye」)
    2. 空間中src屬性值(一個URL編碼空間是+)
    3. 空間style屬性值
  • +0

    謝謝。我剛剛在$ header中添加了'Content-Transfer-Encoding:base64',但仍然存在這個問題。 – Copernic

    +0

    base64行不超過76個字符? (78包括'\ r \ n') –

    +0

    是的。我剛剛用bit.ly進行了測試,結果縮短了網址,並且發生了gmail完全刪除了「src」屬性。 – Copernic