[請益] 用PEAR以html格式寄信,背景圖片顯示問題?
不太清楚這篇能否PO在這裡還是Web_Design版 ?
本來PO了一篇PEAR的 &Mail::factory() 用法問題
因為同樣是用書上的範例發生的問題
想說要一起PO在同一篇請教的
但實在是怕打的太長,排版太亂會沒人想看完
所以就分2篇PO了 :P
---------------------騙P幣的分格線-------------------------
按照上一篇PO文說的,我用書上的範例
用PEAR寄信, 但是 1. & Mail::factory('smtp',$mailParams); 失敗
改用 2. & Mail::factory('mail'); 成功
現在問題是按照書上的範例
寄一封HTML格式的信是成功的
但是收到的信件
可以上傳圖片
可以在寄信的時候 在信件內容打類似以下元html原始碼都成功顯示出來
---------------------------------------------------
<p style="color:red">test </p>
<h3>test2<h3>
<h2 style="clolr:navy">test3</h2>
---------------------------------------------------
但是以成功上傳的圖片
當作背景圖案顯示不出來??!
gmail,Yahoo信箱 可以看到上傳的背景圖可供下載,但背景空白
**看到書上的成果圖完全都是成功的,但是按照書上執行有問題..
**我只PO部分原始碼上來不知道會不會違反著作權等相關法規?
若有請寫信通知,一定會盡快刪除或是麻煩版主刪除
該PHP程式是設計為一個HTML網頁
有收件人,主旨,和信件內容3個輸入欄位 還有1個寄信的按鈕
以下為部分php程式碼
主要是在第8行設定背景圖檔
第32行以addHTMLImage()上傳圖片
最後以19行設定顯示出來
1. require_once('Mail.php'); // 引用 PEAR::Mail
2. require_once('MyMime.php'); // 引用自定的 MyMime 類別
3.
4.//檢查收件人及主旨均非空字串
5. if(!empty($_POST['to']) && !empty($_POST['subject'])) {
6. $recipients = trim($_POST['to']); // 去除換行
7. $subject = trim($_POST['subject']); // 去除換行
8. $background = '背景圖.jpg'; // 設定背景圖檔
9.
10.
11.
12. // 其中會加入使用者輸入的郵件主旨、內容、及程式設定的背景圖檔
13. $html = <<<HTMLBODY
14. <html>
15. <head>
16. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
17. <title>{$_POST['subject']}</title>
18. <style>
19. body{background:url($background)}
20. div{color:navy;width:750px;border:2 dashed}
21. </style>
22. </head>
23. <body>
24. {$_POST['body']}
25. <hr>
26. Send by <a href="Pear::Mail" rel="nofollow">http://pear.php.net/package/Mail">Pear::Mail</a>
27. </body>
28. </html>
29. HTMLBODY;
30. $mime = new MyMime("\n"); // 建立 MyMime 物件
31. $mime->setHTMLBody(stripslashes($html)); // 去除反斜線再加入本體
32. $mime->addHTMLImage($background, 'image/jpeg'); // 加入圖片
33.
34. $mimeParams = array ('head_encoding' => 'base64', // 設定 MIME
35. 'text_encoding' => '8bit', // 編碼相關參數
36. 'head_charset'=> 'UTF-8',
37. 'text_charset'=> 'UTF-8',
38. 'html_charset'=> 'UTF-8');
39. $headers = array( // 設定檔頭資訊
40. 'From' => '名字<我的信箱@mail.tbcnet.net>',
41. 'To' => $recipients,
42. 'Subject' => $subject);
43. $body = $mime->get($mimeParams); // 取得 MIME 郵件內容
44. $hdrs = $mime->headers($headers); // 取得 MIME 郵件表頭
45.
46. // 以下開始建立 Mail 物件並寄出郵件
47. //$mailer = &Mail::factory('smtp',$mailParams); // 建立物件
48. $mailer = &Mail::factory('mail');
49. $result = $mailer->send($_POST['to'], $hdrs, $body);
------------------------------------------------------------------
----------------發個牢騷----------------------
本來當初買這本書,光翻書的內容覺得不錯
想說對於PHP的能力會進步很多
但是現在程式概念是學了不少
現在卡在範例要按照書上的方式跑成功都有困難
(範例還是直接用光碟複製貼上的)
書上圖都是成功的,我按照書上指示卻出問題...
-----------------------------------------------
可能我將書中基本語法的章節只是大致上的閱過
也遺漏了某些重要的設定也不一定
不過目前遇到的問題
嘗試過但還是無法在書中找到答案
無奈在下還算是個新手
能力不足沒法解決所有書上沒提到的問題
希望能幫忙解決問題
以便順利的讀完這本書
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.110.129.251