phpmailer $ mail-> Body = ($ message) не работает - PullRequest
0 голосов
/ 02 июня 2018

Мое сообщение $ не отправляется, оно пустое, получено 500 500 кодов ошибок.Получается send $ mail-> Body = "это ваше сообщение";Это не $ mail-> Body = ($ message);

<?php
require 'phpmailer/PHPMailerAutoload.php';
$mail = new PHPMailer();
// send from
$mail->addAddress('*****@gmail.com', 'sol');
// send to 
$mail->setFrom('*****@gmail.com', 'sol');
//subject
$mail->Subject = "Test email!";


$mail->Body = ($message);

if (!$mail->send())
    echo "wrong";
else
    echo "Mail sent";
?>
<form method="post" action="webtest.php" enctype="multipart/form-data">
<input class="form-control" name="subject"              placeholder="Subject..."><br>
<input class="form-control" name="email" type="email" placeholder="Email..."><br>
<textarea placeholder="Message..." input class="form-control" name="message"></textarea><br>
<input class="btn btn-primary" name="submit" type="submit" value="Send Email">
</form>

Ответы [ 3 ]

0 голосов
/ 02 июня 2018

Это не так, как вы получаете отправленные значения формы.Поле ввода с name=‘message’ появится в вашем скрипте как $_REQUEST[‘message’], поэтому сделайте следующее:

$mail->Body = $_REQUEST[‘message’];
0 голосов
/ 02 июня 2018

В вашем коде более чем достаточно проблем.Во-первых, он загружается при каждой загрузке страницы, что не рекомендуется.$message также не определено.Его можно определить только с помощью `$ _POST ['message'] до тех пор, пока форма не будет отправлена.

Согласно вашему коду, он начнет поиск любого контента, который класс почтовой программы потребовал для отправки электронного письма, и проблема заключается в том, что, он не может найти переменную $message.

Здесь приведенный ниже код поможет вам с моей точки зрения на ваш код.Вы также можете назначить переменные типа $subject = $_POST['subject'].Это полностью ваш выбор.

if(isset($_POST['submit'])){
$message = $_POST['message'];
$mail = new PHPMailer();
// send from
$mail->addAddress('*****@gmail.com', 'sol');
// send to 
$mail->setFrom('*****@gmail.com', 'sol');
//subject
$mail->Subject = "Test email!";


$mail->Body = ($message);

if (!$mail->send())
    echo "wrong";
else
    echo "Mail sent";
}
?>
<form method="post" action="webtest.php" enctype="multipart/form-data">
<input class="form-control" name="subject" placeholder="Subject..."><br>
<input class="form-control" name="email" type="email" placeholder="Email..."><br>
<textarea placeholder="Message..." class="form-control" name="message"></textarea><br>
<input class="btn btn-primary" name="submit" type="submit" value="Send Email">
</form>

Если возникнет проблема даже после добавления этого кода.Прокомментируйте здесь, я помогу вам, если смогу.

0 голосов
/ 02 июня 2018

Используйте это

$message = "This is body text"; 
$mail->Body = $message;

вместо

$mail->Body = ($message);

Если это не работает, значит, есть другая проблема.

...