【发布时间】:2016-04-30 16:50:20
【问题描述】:
突然之间,我在有人在表单上注册后发送电子邮件的 PHP 代码停止工作。我正在绞尽脑汁想弄清楚发生了什么……
我已经测试了一小段通过电子邮件发送给自己的代码,它可以工作。 我在页面执行时观察了 Chrome 中的控制台窗口,但它没有显示任何错误。
代码向我发送一封包含表单信息的电子邮件,并向用户的收件箱发送一封电子邮件,告知注册成功。
// SENDING EMAIL
//To me
$line_break = "\r\n";
$emailSender = "subscriptions@mydomain.com";
$emailTOme = "me@mydomain.com";
$cco = "support@mydomain.com";
$subject= "my subject";
$messageHTML = '
<p>Nome.......: ' . $nome . '</p>
<p>E-mail.......: '.$email . ' </p>
<p>Profissão.......: '. $profissao . ' </p>
<p>Endereço.....: '. $endereco . ', ' . $endereco_num . ' </p>
<p>Complemento.....: '. $complemento . '</p>
<p>Bairro.......: ' . $bairro . ' </p>
<p>CEP..........: '. $cep . ' </p>
<p>Cidade.......: ' . $cidade . ' </p>
<p>UF...........: ' . $uf . ' </p>
<p>Telefone.....: ' . $telefone . ' </p>
<p>Celular......: ' . $celular . ' </p>
<p>Inscrição p/.: ' . $evento . '</p>
<p>Valor da inscrição: <b>R$' . $valor_inscricao . '</b></p>';
$headers = "MIME-Version: 1.1" . $line_break;
$headers .= "Content-type: text/html; charset=iso-8859-1". $line_break;
$headers .= "From: " . $emailSender . $line_break;
$headers .= "Return-Path: " . $emailSender . $line_break;
$headers .= "Bcc: " . $cco . $line_break;
$headers .= "Reply-to: " . $emailSender . $line_break;
mail($emailTOme , $subject, $messageHTML,$headers, $emailSender);
//email for the user
$messageHTMLuser = '
<p> Lorem </p>
<p> Ipsum </b></p>';
$headers2 = "MIME-Version: 1.1" . $line_break;
$headers2 .= "Content-type: text/html; charset=iso-8859-1". $line_break;
$headers2 .= "From: " . $emailSender . $line_break;
$headers2 .= "Return-Path: " . $emailSender . $line_break;
$headers2 .= "Reply-to: " . $emailSender . $line_break;
mail($email, 'We recieved your registration', $messageHTMLuser, $headers2, $emailSender);
问题是现在只有第二个mail() 函数起作用了。
第二个函数上的$email来自之前的形式。
【问题讨论】:
-
Chrome 控制台窗口只会显示 Javascript/网络错误,不会显示 PHP 错误。
-
您不应该查看错误日志吗?
-
看起来第一个 $header 上的 BCC 行是问题...但它总是有效!任何想法为什么它停止了?