2014-02-18 53 views
2

我需要採取一個3-4字段的形式,並將信息發送到兩個不同的電子郵件,不同的信息。PHP MAIL:發送2個不同的電子郵件給2個不同的收件人

例:

FIELD ONE: NAME 
FIELD TWO: EMAIL 
FIELD THREE: COMMENT 

(當提交)

EMAIL ONE: JUST FIELD THREE IS SENT 
EMAIL TWO: ALL THREE FIELDS ARE SENT 

我試過如下:

<?php 

if(isset($_POST['submit'])) { 
    // The message 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $comment = $_POST['comment']; 

    $msg1 = $comment; 

    $msg2 = $name."\n\n".$email."\n\n".$comment; 

    // Send 
    mail('[email protected]', 'My Subject', $msg1); 
    mail('[email protected]', 'My Subject', $msg2); 
} 

?> 

<html> 
<head> 
<title>Test</title> 
</head> 

<body> 
<form name="frmemail" action="" method="post"> 
<p>Name: <input type="text" name="name" /></p> 
<p>Email: <input type="text" name="email" /></p> 
<p>Comment: <textarea name="comment"></textarea></p> 
<p><input type="submit" name="submit" value="Submit" /></p> 
</form> 
</body> 

</html> 

這工作,但奇怪的是:

emailone @ whatever.com接收(當它應該只接收EMAIL ONE時)均爲EMAIL ONEEMAIL TWO

[email protected]只收到EMAIL TWO(這是我想要的)。

有人能告訴我爲什麼[email protected]收到EMAIL ONEEMAIL TWO

我使用gmail進行了測試。

在此先感謝。

+2

你的代碼沒有出現任何問題。實際的代碼是否一樣?是'emailtwo @ whatever.com'設置爲轉發電子郵件到'emailone @ whatever.com'? – Kami

+1

哦,是的,因爲我已經設置[email protected]轉發給[email protected],但我忘記了它。所以代碼確實工作正常。謝謝。 – Cody

回答

1

如果它發送2封電子郵件,這是因爲:

  • 你兩次調用mail()函數
  • 您對:包頭指定兩個地址,或
  • 你的MTA被配置爲複製人自動。

最可能的原因是你正在調用mail()兩次。你可以使用你的apache/IIS日誌來檢查這個。

相關問題