2014-11-04 25 views
-4

我在網上放了一個網站,我想要一個功能,用戶可以將他們的電子郵件地址輸入到表單中,當提交時,他們會收到一個預先設定的電子郵件。發送預先寫好的電子郵件的HTML

還有其他問題,但他們都沒有幫助我。

我這裏有基本的代碼:

<form action="send.php" method="post"> 
<input type="text" name="mail"> 
<input type="submit" value="send"> 
</form> 

這裏是send.php

<?php 
$mail = $_POST['mail']; 
?> 
<html> 
<a href="mailto:<?php echo $mail ?>"><button>SEND</button></a> 
</html> 

請原諒,你必須按下發送兩次的事實,我會改變這種狀況。
我想要做的是通過電子郵件發送用戶(電子郵件代表$mail)預先書面文件,而不是作爲附件,而是電子郵件的組成。

我不確定天氣我只能使用word文檔,或者它背後有複雜的代碼。

因爲我只熟悉基本的視覺元素,請你能解釋代碼的哪些部分做什麼,因爲我可能想調整它。

謝謝!

+3

閱讀手冊http://php.net/manual/en/function.mail.php – 2014-11-04 19:31:11

+0

你不會把任何東西放到郵件的正文中。用你的模板設置一個字符串,並將其作爲你電子郵件的主體。 – Tim 2014-11-04 19:36:17

回答

5

正如弗雷德所說,最好的方法是通過PHP's mail function。當send.php運行時,可以包括像

mail($mail, "My Email Subject", "<html><b>Email Message</b></html>", $headers); 

PHP代碼在哪裏你的頭變量必須包含所有必要的信息,以告訴串消息包含HTML應解析客戶端的郵件軟件。一個例子頭設置如下,從CSS Trick's lovely example對於這個問題:

$headers = "From: " . strip_tags($_POST['req-email']) . "\r\n"; 
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n"; 
$headers .= "CC: [email protected]\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

注意到您可以替換strip_tags呼叫與任何你想要的設置電子郵件。然後,您可以用您想要製作格式良好的電子郵件的任何代碼替換我的<html><b>Email Message</b></html>

使用PHP的mail()函數也使它,所以你不需要點擊提交兩次。