2011-02-13 68 views
1

我在我的網站上有一個非常簡單的聯繫表單,我正在尋找用戶只需在「CC:」旁邊放置一個複選標記就可以將其設置爲CC,而無需爲此創建一個全新的字段他們必須再次填寫。PHP電子郵件表格CC

下面是HTML:

<form action="send.php" method="post" name="form1"> 
Name: <input name="name" size="35"><br/> 
E-mail:<input name="email" size="35"><br/> 
CC: <input input type="checkbox" name="mailcc"><br/> 
Comment: <textarea cols="35" name="comment" rows="5"></textarea> <br /> 
<input name="Submit" type="submit" value="Submit"> 
</form> 

這裏是PHP:

<?php 
$name = $_REQUEST['name'] ; 
$email = $_REQUEST['email'] ; 
$comment = $_REQUEST['comment'] ; 

mail("[email protected]", "Message Title", "Name: $name\n Email: $email\n Comments: $comment\n "); 

echo "Message Sent! Thanks!" 

?> 

我一直試圖從這個網站添加一些項目:

http://w3mentor.com/learn/php-mysql-tutorials/php-email/send-email-with-cccarbon-copy-bccblind-carbon-copy/

但它想爲CC創建一個文本字段,這意味着用戶將不得不en他們的電子郵件兩次。

我也試過$mailheader.= "Cc: " . $email ."\n";但我不能讓它工作。

回答

2
  1. 使複選框在HTML中具有值(value="1")。
  2. 添加變量($mailheader)到mail()函數的末尾作爲最後一個參數。

所以基本上:

$name = $_POST['name'] ; 
$email = $_POST['email'] ; 
$comment = $_POST['comment'] ; 

if ($_POST['mailcc'] == 1) { 
    $mailheader .= "CC: $name <$email>"; 
} 

mail("[email protected]", "Message Title", "Name: $name\n Email: $email\n Comments: $comment\n ", $mailheader); 

echo "Message Sent! Thanks!"; 
+0

你搖滾!謝謝! – 2011-02-13 01:05:42

0

是你與同爲「到」地址測試抄送地址([email protected]在你的例子)?

我做了一個簡單的測試,並使用此代碼我只得到一個郵件:

<?php 
$to = "[email protected]"; 
$subject = "Testing"; 
$message = "Testing message"; 
$headers = "Cc: [email protected]"; 

mail($to, $subject, $message, $headers); 

但是有了這個,我得到了拷貝到我的其他電子郵件帳戶:

<?php 
$to = "[email protected]"; 
$subject = "Testing"; 
$message = "Testing message"; 
$headers = "Cc: [email protected]"; 

mail($to, $subject, $message, $headers); 
+0

它不會,`TO`和`CC`或`BCC`字段必須不同,它不會將相同的內容發送到您的收件箱兩次。然而,喬希要求的是將郵件抄送給「$ email」,而不是「me @ me.com」(這是表單所有者的電子郵件地址)。所以他們是不同的電子郵件地址。 – 2011-02-13 03:42:05