2017-11-02 6 views
0

http://nodeiterator.pl/メッセージフィールドが空ですが必須ではない場合、PHPmailerはメールを送信しませんか?

なぜメッセージフィールドは空ですが必須ではない場合、私のphpメーラースクリプトがメールを送信しないのですか?私は、「もう一度やり直してください」というメッセージを受け取ります。私は何が欠けていますか?

これは私のスクリプトです:

$msg = ""; 
use PHPMailer\PHPMailer\PHPMailer; 
include_once "phpmailer/src/PHPMailer.php"; 
include_once "phpmailer/src/Exception.php"; 


if (isset($_POST['submit'])) { 
    $subject = $_POST['subject']; 
    $email = $_POST['email']; 
    $message = $_POST['message']; 

    if (isset($_FILES['attachment']['name']) && $_FILES['attachment']['name'] != "") { 
     $file = "attachment/" . basename($_FILES['attachment']['name']); 
     move_uploaded_file($_FILES['attachment']['tmp_name'], $file); 
    } else 
     $file = ""; 

    $mail = new PHPMailer(); 



    $mail->addAddress('[email protected]'); 
    $mail->setFrom($email); 
    $mail->Subject = $subject; 
    $mail->isHTML(true); 
    $mail->Body = $message; 
    $mail->addAttachment($file); 

    if ($mail->send()) 
     $msg = "Your email has been sent, thank you!"; 
    else 
     $msg = "Please try again!"; 


} 
+0

if(empty($ message))$ message = ""のようなコード行を追加するとどうなりますか? – Lucarnosky

+0

下記の私の答えをチェックしてください。 –

答えて

1

私はPHPMailデフォルトでは、あなたが空の体に電子メールを送信できるようになる、しかし、あなたはちょうど行くことができるとは思わない:

$mail->AllowEmpty = true; 
+0

それはまさに正しいことです。 – Synchro

0

をチェックエラーが返されました:

if(!$mail->Send()) { 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
} 

通常、phpmailerは空のボディを受け入れませんが、属性012を使用する必要があります

+0

メーラーエラー:少なくとも1つの受信者メールアドレスを指定する必要があります。 – Piotr

関連する問題