2016-04-30 6 views
3

誰かがフォームに登録した後に突然、メールを送信する私のPHPコードが動作を停止しました。私は何が起こっているのか把握しようとしている私の頭をクラックしています...PHPはページ内に1つのメール()のみを送信します

私はすでに自分自身を電子メールで送信する小さなコードをテストしています。 ページの実行中にChromeでコンソールウィンドウが表示されましたが、エラーは表示されません。

コードはinfoという形式のメールを私に送信し、登録が成功したことを伝える電子メールをユーザーの受信ボックスに送信します。

// SENDING EMAIL 

//To me 
$line_break = "\r\n"; 
$emailSender = "[email protected]"; 
$emailTOme = "[email protected]"; 
$cco = "[email protected]"; 
$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()機能が動作することです。

2番目の機能の$emailは、前のフォームからのものです。

+3

Chromeコンソールウィンドウには、JavaScriptエラーのみが表示され、PHPエラーは表示されません。 – bg17aw

+2

エラーログを調べてはいけませんか? – frz3993

+0

最初の$ヘッダーのBCC行が問題だと思われます...しかし、それはいつも働いていました!それがなぜ止まったのか? –

答えて

2

「BCC」行をコメントアウトしてください。現在のPHPメールとして

は(もう)は、このオプションをサポートしていません - apparantly BCC-フォームspamersを回避する方法として..

高度な電子メール機能を使用するためには、あなたはおそらくほうが良いでしょうhttps://packagist.org/packages/phpmailer/phpmailer

+0

これがなぜ機能するかについていくつかの情報を提供していただけますか? – andrew

+0

@Retoすべてのコードのバリエーションは、最終的には問題のコードとまったく同じコードです。彼らはおそらく何かを変えることはできません。なぜあなたの変更が何らかの形で役立つかもしれないと思う理由を説明できますか? – bg17aw

+0

私が言及したように、PHPのようなbcc形式のスパム保護のようなものかもしれません;) – Reto

0

これをスクリプトの先頭に追加すると、ページの上部にエラー(存在する場合)が表示されます。

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
関連する問題