2014-01-16 52 views
-1

我的Canvas圖像保存正確,但是我需要把它發送到一封電子郵件給我預先設置的電子郵件,我的PHP技能已經讓我這麼遠,但是我一直嘗試的其他一切都失敗了。PHP創建我的serverside jpg文件不發送

這是我的工作代碼。

<? 

// set error reporting level 
if (version_compare(phpversion(), '5.3.0', '>=') == 1) 
error_reporting(E_ALL & ~E_NOTICE & ~E_DEPRECATED); 
else 
error_reporting(E_ALL & ~E_NOTICE); 

// save file 
if ($_POST['data'] != '') { 

$sRand = rand(100000, 999999); 
$sOrigPath = 'cache/result'.$sRand.'.jpg'; 
@unlink($sOrigPath); 

$img = $_POST['data']; 
$img = str_replace('data:image/png;base64,', '', $img); 
$img = str_replace('data:image/jpeg;base64,', '', $img); 
$img = strip_tags($img); 
$img = str_replace(' ', '+', $img); 
$decodedData = base64_decode($img); 

file_put_contents($sOrigPath, $decodedData); 
echo $sOrigPath; 

``}

這完美的作品,但是我知道我在想念着這麼簡單的東西,但是我不能讓它電子郵件。如果任何人都可以提供幫助,那就太棒了。

謝謝你們的幫助。我最後管理它,但是我使用這些代碼進行了一些自定義操作。 http://www.litfuel.net/tutorials/mail2.htm我希望這可以幫助有類似問題的人。

+0

出於好奇:爲什麼你從圖片中刪除HTML標籤? –

+0

你有問題嗎?您的腳本不會發送電子郵件,原因與它不會生成PDF文件或解碼人類DNA相同:您沒有編寫代碼來執行此操作。 –

回答

0

您需要發送電子郵件和電子郵件中的圖像。如果設置了正確的標題,電子郵件會接受HTML。請參閱mail函數以供參考。

$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 
mail("[email protected]", "Some subject", "<img src='path/to/your/saved/image.jpg'/>", $headers); 

爲此,您必須安裝SMTP服務器。如果在Linux上,你可以很容易地安裝postfix,它可以直接使用。

+0

感謝您的幫助,這發送一封電子郵件,但它不是圖像。有什麼建議麼? – Britnet

+0

電子郵件正文中是否顯示任何內容?另外,請仔細檢查'img'標籤中圖像的路徑是否正確,並嘗試包含完整的URL(包括主機名)。電子郵件中的圖像顯示需要兩件事:標題中的text/html和我已經在我的答案中包含的'img'標記。 –

0

在PHP中使用 「郵件」功能,在「信息」欄填入

$msg = "<img src='". $sOrigPath."'>"; 
+0

對不起,它沒有發送正確的圖像,但它確實嘗試,但仍然不好:( – Britnet

+0

你發送郵件沒有圖像?可能郵件服務配置不好 或另一件事可以是路由,驗證是否你正在使用相對路線 –