突然间,我的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
来自上一个表单。
答案 0 :(得分:2)
尝试注释掉“BCC”行。
由于当前的php邮件不支持此选项(不再) - 显然是为了避免使用bcc-form-spamers ..
为了使用高级电子邮件功能,您可能最好使用PHPMailer(或类似的lib):https://packagist.org/packages/phpmailer/phpmailer
答案 1 :(得分:0)
将其添加到脚本的开头,它应该在页面顶部显示您的错误(如果有的话)。
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);