PHP MAIL:向2个不同的收件人发送2个不同的电子邮件

时间:2014-02-18 09:53:20

标签: php email

我需要带一个包含3-4个字段的表单,并将信息发送到两个不同的电子邮件,并提供不同的信息。

实施例

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('emailone@whatever.com', 'My Subject', $msg1); 
  mail('emailtwo@whatever.com', '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 ONEEMAIL TWO(当它应该只收到EMAIL ONE时)。

emailtwo@whatever.com只收到EMAIL TWO(我想要的)。

有人可以告诉我为什么emailone@whatever.com收到 EMAIL ONEEMAIL TWO

我使用gmail测试过。

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果它发送了2封电子邮件,那是因为:

  • 您正在调用mail()函数两次
  • 您的收件人:标头指定两个地址,或
  • 您的MTA配置为自动复制某人。

最可能的原因是你两次调用mail()。您可以使用apache / IIS日志进行检查。