[請益] 用PEAR以html格式寄信,背景圖片顯示問題?

看板PHP作者 (friend forever)時間13年前 (2010/09/06 03:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
不太清楚這篇能否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
文章代碼(AID): #1CW-rCQI (PHP)