2017-04-24 20 views
0



私はphpmailerを使いこなしています。
しかし、今私がしようとしているのは、メールを送信するフォームを送信した後です。 フォームを承認した基本的な電子メールだけが送信されました(フォームデータなし)。phpmailerはフォームを送信した後にメールを送信しません。

問題:メールフォームを提出した後送信していない(電子メールのコードが100%に取り組んでいるテスト)

希望誰かが:)

mail.phpコード私を助けることができます。

<?php 
//ini_set(‘display_errors’, 1); 

include '/var/www/includes/mailer.php'; 

//require 'PHPMailerAutoload.php'; 

$mail = new PHPMailer; 

$mail->SMTPDebug = 3;         // Enable verbose  debug output 

$mail->isSMTP();          // Set mailer to use SMTP 
$mail->Host = 'smtp.nicetrygoyim.nl';      //Specify main and backup SMTP servers 
$mail->SMTPAuth = true; // Enable SMTP authentication 


$mail->Username = '[email protected]';   // SMTP username 
$mail->Password = 'nicetry';        // SMTP password 
$mail->SMTPSecure = 'TLS';       // Enable TLS encryption, `ssl` also accepted 
$mail->Port = 587;         // TCP port to connect to 

$mail->setFrom('[email protected]', 'Mailer'); 
$mail->addAddress('[email protected]', 'secret');  // Add a recipient 
$mail->addAddress('[email protected]', 'secret');    // Name is optional 
//$mail->addReplyTo('[email protected]', 'Information'); 
//$mail->addCC('[email protected]'); 
//$mail->addBCC('[email protected]'); 

//$mail->addAttachment('/var/tmp/file.tar.gz');   // Add attachments 
//$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name 
$mail->isHTML(true);         // Set email format to HTML 

    $mail->Subject = 'Here is the subject'; 
    $mail->Body = 'This is the HTML message body <b>in bold!</b>'; 
    $mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 


    $mail->smtpConnect([ 
    'ssl' => [ 
    'verify_peer' => false, 
    'verify_peer_name' => false, 
    'allow_self_signed' => true 
    ] 
     ]); 

    if(!$mail->send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
    } else { 
    echo 'Message has been sent'; 
    } 
    ?> 

を私のフォーム:

<form action="mail.php" method="post"> 
Leerlingnummer:<br> 
<input type="text" name="leerlingnummer"required placeholder="Voer hier het leerlingnummer in" /><br> 
E-mailadres:<br> 

<input type="submit" name="submit" class="groottext" value="Reparatie indienen"/> 

編集:タイプミス

編集:このコードは、それが正しく動作している場合でも、あなたはデバッグ出力のトンを見てする必要があり、実行されている場合は問題

+0

どのサーバーを使用していますか? –

+0

@DhruvinMoradiya私は自分のサーバー(debian 8) –

+0

を使用していますが、何が問題ですか?何が効いていないのですか? –

答えて

1

を言及するのを忘れてしまいました。あなたは実際に問題が何であるかは言いませんが、私が見ることができるいくつかのことを間違っています。提供された例に基づいてコードを作成し、ちょうど推測するのではなくthe docsを読むと、本当に役に立ちます。

$mail->SMTPSecure = 'TLS'; 

は次のようになります。

$mail->SMTPSecure = 'tls'; 

は自分でsmtpConnect()を呼び出さないでください、あなたは台無しSMTPトランザクションの状態の追跡をよ。あなたは、SSLのparamsを設定したい場合は、それらに期待されるように設定してからちょうど接続に対処するであろう、send()を呼び出す:

$mail->SMTPOptions = array(
    'ssl' => array(
     'verify_peer' => false, 
     'verify_peer_name' => false, 
     'allow_self_signed' => true 
    ) 
); 

次の質問は、なぜあなたはそれをやっているのですか?明示的で具体的な理由を提示できない場合は、何か問題があります。

+0

私はそれを自分で修正しましたが、 –

関連する問題