0

我有一个 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 );
 ?>
4

2 回答 2

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
于 2013-03-22T21:11:27.200 回答
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
?>
于 2013-03-22T22:18:54.030 回答