PHP向多个收件人发送电子邮件(标头不发送)

时间:2013-03-22 21:05:21

标签: php forms email-headers

我有一个index.html和一个contacto.php。

contacto.php应该是将用户的信息发送给多个收件人,但它没有发送。

这是我的index.html(忽略javascript)

<form action="contacto.php" method="POST">

        <fieldset style="margin: 0px 0 0 0"; >
<br/><br/>  <br/><br/>  <br/><br/>  <br/><br/>


<input maxlength="255" name="Form testing" size="20" type="hidden" value="Form-name-here" /><br>    

 <input value="Nome" onfocus="if (this.value == 'Nome') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Nome';}" maxlength="255" name="name" size="20" type="text" /><br>

<input value="Telemóvel" onfocus="if (this.value == 'Telemóvel') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Telemóvel';}" id="phone" maxlength="40" name="phone" size="20" type="text" /><br>

<input onfocus="if (this.value == 'Email') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Email';}" value="Email" id="email" maxlength="80" name="email" size="20" type="text" /><br>

<input onfocus="if (this.value == 'Localidade') {this.value = '';}" onblur="if (this.value == '') {this.value = 'Localidade';}" value="Localidade" maxlength="255" name="location" size="20" type="text" /><br>

这是我的contacto.php:

<?php
 // Get Data
 $name = strip_tags($_POST['name']);
 $email = strip_tags($_POST['email']);
 $phone = strip_tags($_POST['phone']);
 $location = strip_tags($_POST['location']);

 $headers .="De: Form thingy <examplealpha@someemail.com>";
 $headers .="CC: Mail1 <example1@someemail.com>";
 $headers .=", Mail2 <example2@someemail.com>";

 header("Location: thankyou.html");  //Redirect to Thank You HTML page after email is sent


 // Send message
 mail( "example1@someemail.com", "Formulário Facebook Av. Grátis",
 "Name: $name\nEmail: $email\nPhone: $phone\nLocation: $location\n",
  $headers );
 ?>

2 个答案:

答案 0 :(得分:1)

在发送之前将标题位置重定向

// Send message
mail( "example1@someemail.com", "Formulário Facebook Av. Grátis",
 "Name: $name\nEmail: $email\nPhone: $phone\nLocation: $location\n",
 $headers );

 header("Location: thankyou.html");  //Redirect to Thank You HTML page after email is sent

答案 1 :(得分:1)

更改

$headers .="De: Form thingy <examplealpha@someemail.com>";

$headers ="From: Form thingy <examplealpha@someemail.com>";

“De:根据PHP手册不是标准,请使用”From:....

http://php.net/manual/en/function.mail.php

http://php.net/manual/fr/function.mail.php

完整代码:

<?php
// Get Data
$name = strip_tags($_POST['name']);
$email = strip_tags($_POST['email']);
$phone = strip_tags($_POST['phone']);
$location = strip_tags($_POST['location']);

$headers ="From: Form thingy <examplealpha@someemail.com>";
$headers .="CC: Mail1 <example1@someemail.com>";
$headers .=", Mail2 <example2@someemail.com>";

// Send message
mail( "example1@someemail.com", "Formulário Facebook Av. Grátis",
 "Name: $name\nEmail: $email\nPhone: $phone\nLocation: $location\n",
  $headers );

header("Location: thankyou.html");  //Redirect to Thank You HTML page after email is sent
?>