2012-08-31 39 views
0

這個想法是,用戶可以安排在屏幕上的div塊(拖放)。當用戶認爲職位好時,他們可以通過表單向我發送職位名稱和電子郵件。接收電子郵件附帶當前網站源代碼

<form action="#">  
<input name="name" id="name">   
<input name="email" id="email">  
<input name="htmlcontent" id="htmlcontent">   
<p><button type="submit">Send to DKdL</button></p> 
</form> 

表格將由手工填寫。除了完整的源代碼將被粘貼的字段(通過jquery - 也將在這裏過濾)。這就是我後來會知道每個div塊有什麼位置的原因。這將通過jquery post發送。

$('form').on('submit', function(e) { 

var html = $('html').html(); 
var htmlSending = '<html>' + html + '</html>'; 
var noScript = htmlSending.replace(/script/g, "h6"); 

//alert(noScript); 
$('input#htmlcontent').val(noScript); 

$.post('http://www.address/save.php', $(this).serialize(), function(data) { 
    //callback to use for thank you message 
    console.log(data); 
}); 

e.preventDefault(); 
}); 

在我想要的第三字段(用複製並過濾HTML源代碼),以保存爲與該名稱和日期它後面的HTML文件的PHP(例如:peter_01-09-2012.html ),並將其作爲附件發送給我。

<?php 

$name = name; 
$email = email; 
$htmlcontent = htmlcontent; 
//file_put_contents('file.html', '$htmlcontent'); 

$to = '"My Email <[email protected]>'; 
$headers = 'MIME-Version: 1.0' . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

$message = 
<p>Name: $name</p> 
<p>E-Mail: $email</p> 
here should be a url to the HTML Content: $htmlcontent 
or a real email attachment 
; 
?> 

這可能存檔嗎?不幸的是,我的知識並沒有達到PHP。我只知道可以寫入文件。但我怎麼能告訴PHP將它作爲附件包含在電子郵件中?如果我的問題有更好的選擇,我當然也喜歡聽到它。

+0

只是回想一個問題:當您只需要知道divs的poistions時,爲什麼要發佈源代碼? – hakre

+0

當我成爲一個電子郵件,並從附件中打開HTML文件,並看到1:1用戶看到的,而不是一些數字,我必須轉換,看看他們如何定位div。 因爲divs遍佈整個文檔。由於包含滾動,圖像無法到達。 –

回答

0

由於PHP的mail()其實就是一個簡單的「代理」,以發送原始電子郵件的內容,你有兩個選擇:

  1. 使用PHP的一些功能包,讓您構建帶有附件的郵件(比如PEAR Mail_Mime)。

  2. 瞭解如何構建多部分郵件內容。由於在這種情況下它非常簡單(並且只涉及像Content-typeContent-disposition這樣的術語),因此我會在這裏推薦它。

最簡單的是通過例如在此郵件的電子郵件客戶端和查看源代碼來學習的,所以請採取一些簡單的郵件(附件)。您甚至可以將此源用作發送給PHP的mail()函數的數據的模板。

+0

嗨庫巴, 感謝您的回覆。我從來沒有想過從電子郵件中查看源代碼。我檢查了它,發現了Content-type和Content-dispostion。我會嘗試,如果我現在可以自己解決這個問題:) '--Apple-Mail-F95B52F6-D7A8-4B9A-9223-969CF1587128 Content-Disposition:ATTACHMENT; \t文件名=「document.pdf」 內容類型:APPLICATION/PDF; \t name =「document.pdf」 Content-Transfer-Encoding:BASE64' –