PhpMailer отправляет почту, но сообщение не работает

Это мой HTML-код

<form method="post" action="PHPMailer.php" enctype="text/plain">
<div class="row 50%">
<div class="6u 12u(mobile)"><input name="name" type="text" placeholder="Name" /></div>
<div class="6u 12u(mobile)"><input name="email" type="text" placeholder="Email" /></div>
</div>
<div class="row 50%">
<div class="12u"><input name="messageInput" placeholder="Message"></textarea></div>
</div>
<div class="row">
<div class="12u">
<ul class="actions">
<li><input type="reset" class="button alt" value="Clear Form" /></li>
<li><input name="submit" type="submit" class="button" value="Send Message" /></li>
</ul>
</div>
</div>
</form>

Это мой php код

<?php
if(isset($_POST['submit'])) {

require_once 'xxxxxxxxxxx\phpMailerAutoload.php';

$mail = new PHPMailer;
$mail->SMTPDebug = 2;
$mail->isSMTP();
$mail->Host = 'smtp.gmail.com';
$mail->SMTPAuth = true;
$mail->Username = 'xxxxxxxx@gmail.com';
$mail->Password = 'xxxxxxxxxx';
$mail->SMTPSecure = 'tls';
$mail->Port = 587;

$mail->setFrom('xxxx@gmail.com', 'Mailer');
$mail->addAddress('xxxx@gmail.com', 'Mailer');
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->addAttachment('/var/tmp/file.tar.gz');
$mail->addAttachment('/tmp/image.jpg', 'new.jpg');
$mail->isHTML(true);

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

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

Я получаю письмо, когда удаляю «if (isset ($ _ POST [‘submit’]»). Не могу понять, что я пропустил.

Я пытаюсь извлечь сообщение из формы и поместить его как $ message, но он продолжает сообщать мне неопознанный индекс, когда я добавляю $ message = $ _POST [‘messageInput’] ;. Я очень новый и хотел бы любую помощь, которую я могу получить. Спасибо!

Редактировать*
убрал энктип и все заработало! **

2

Решение

сообщение будет работать после удаления enctype="text/plain">

Допустимые значения для enctype в теге:

application/x-www-form-urlencoded
multipart/form-data

для более полного ответа давайте включим комментарий Бармара:

$mail->Body = '$message';

должно быть

$mail->Body = $message;

поскольку переменные не раскрываются в одинарных кавычках

но вы можете просто использовать

$mail->Body =$_POST['messageInput'];

нет необходимости создавать новую переменную для него

1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector