台灣最大程式設計社群網站
線上人數
979
 
會員總數:246202
討論主題:189774
歡迎您免費加入會員
討論區列表 >> PHP >> mail附加檔案無法傳送
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
mail附加檔案無法傳送
價值 : 15 QP  點閱數:2256 回應數:2
樓主

Eric16899
初學者
598 136
1829 306
發送站內信

請求幫忙....

PHP功能:使用者設定傳回mail帳號與選定user端照片.jpg. 由sendmail.php 送到user mail帳號。

由form.php內form選定傳送圖檔,action:sendmail.php但發生無法夾帶圖檔

圖檔資訊-------------
原始檔案名稱ba_title.jpg
為檔案大小28967
暫存的位置C:\Windows\temp\php3455.tmp
MIME格式image/pjpeg
上傳的錯誤代碼0
-----------------------

mail可發送
但是收到信只顯示==>C:\Windows\temp\php5CCB.tmp

請問附檔處理有問題?

$filename = $_FILES['myfile']['tmp_name'];

SendMail("abc@hotmail.com","USER@hotmail.com","mail_test",$filename);
-------------------------------------

//附加檔案處理
if($filename){
$mimeType = mime_content_type($filename); // 判斷檔案類型
if(!$mimeType)$mimeType ="application/unknown"; // 若判斷不出則設為未知
$fp = fopen($filename, "r"); // 開啟檔案
$read = fread($fp, filesize($filename)); // 取得檔案內容
fclose($fp); // 關閉檔案
$read = base64_encode($read);//使用base64編碼
$read = chunk_split($read); //把檔案所轉成的長字串切開成多個小字串
$file = basename($filename); //傳回不包含路徑的檔案名稱(mail中會顯示的檔名)

// 附檔處理開始
$body .= '--'.$boundary ."\n";
// 設定附加檔案HEADER
$body .= 'Content-type: '.$mimeType.'; name='.$file."\n";
$body .= 'Content-transfer-encoding: base64'."\n";
$body .= 'Content-disposition: attachment; filename='.$file."\n\n";
// 加入附加檔案內容
$body .= $read ."\n";
}//處理附加檔案完畢

搜尋相關Tags的文章: [ mail ] ,
本篇文章發表於2012-02-10 11:34
1樓
最有價值解答

kg
檢舉此回應
我想請問一下你php內有沒有imap模組?
有的話下面是我以前寫的一個發mail code(前提要imap模組):


本篇文章回覆於2012-02-10 15:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

kg
檢舉此回應
我上面code中的

這一段就是作檔案掛載之動作,不過這段有點bug就是若你寄的信沒附加檔案在 yahoo信箱一樣會顯示有附加檔案(檔名大概就是applocation....etc)
本篇文章回覆於2012-02-10 15:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.