2012-07-11 22 views
0

我已經搜索過並且搜索了類似的東西,但是我認爲我做得不對。所以我會問一個問題。這是非常基本的。我的問題如下:PHP郵件給變量

我有一個多頁的表格,由4頁+ 1個預覽頁面組成。在預覽頁面上,提交時,我希望將整個表單數據發送到2個不同的郵件地址。一種標準,另一種是用戶提交的標準。

所以我有:

<?php 

$name = $_POST['name']; 

    $visitor_email = $_POST['email']; 

    $message = $_POST['message']; 

?> 

<?php 

$email_from = '[email protected]'; 

$email_subject = "New Form submission"; 

    $email_body = "You have received a new message from the user $name.\n". 
          "Here is the message:\n $message". 



$to = "[email protected], $email /n"; 

$headers = "From: Company"; 


    mail($to,$email_subject,$email_body,$headers); 

?> 

我應該如何插入提交$電子郵件變量,以便它的工作?

+0

謝謝邁克爾。 :) – raz 2012-07-11 13:08:40

+1

縮進代碼塊4個空格(突出顯示和Ctl-k)用於語法突出顯示和良好演示文稿 – 2012-07-11 13:10:01

+0

已注意。謝謝。 – raz 2012-07-11 13:12:06

回答

0

根據the mail() function documentation$to參數將採用逗號分隔的地址列表,如您所嘗試的,但最終應該沒有換行符。 此外,您的變量是$visitor_email,而不是$email

$to = "[email protected], $visitor_email"; 

您可能還會考慮將訪問者的電子郵件添加爲CC或BCC而不是TO地址。在這種情況下,將其添加爲CC或BCC標題(用\r\n分隔),但需要謹慎以確保地址是電子郵件地址,並且不包含可用於header injection的換行符。

// The From should be an email address 
$headers = "From: [email protected]\r\n"; 
$headers .= "CC: $visitor_email; 
+0

是的,我很着急編寫一些示例代碼。完美的答案。正是我需要的。謝謝! – raz 2012-07-11 13:15:16

1

取出\n

$to = '[email protected],' . $visitor_email; 
+0

這是php不是js,刪除'+'符號,而是放置'.'標誌 – itsme 2012-07-11 13:13:01

+0

'+'不是PHP中的字符串連接運算符。期間('。')是。 – 2012-07-11 13:13:02

+0

@itsme顯然大多數JS有一些副作用.. – 2012-07-11 13:14:57