gbreadman13
@gbreadman13
Фронтенд-кодер из Красноярска

Как сделать нормальный текст сообщения из формы на php?

Если заполнить форма на сайте, то в php прописана конструкция:
$mail->Body = '' .$name. ' оставил заявку. Его сообщение ' .$message. '  Почта этого пользователя: ' .$email;


А в письме приходит так:
>AB028; 70O2:C 3> A>>1I5=85 202K0K20 >GB0 MB>3> ?>;L7>20B5;O

Все переменные объявлены верно.

В чем ошибка?

ПОЛНЫЙ PHP-скрипт

<?php 

require_once('phpmailer/PHPMailerAutoload.php');
$mail = new PHPMailer;
$mail->CharSet = "utf-8";

$name = $_POST['user_name'];
$email = $_POST['user-email'];
$message = $_POST['user-message'];


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

$mail->isSMTP();                                      // Set mailer to use SMTP
$mail->Host = 'smtp.gmail.com';  																							// Specify main and backup SMTP servers
$mail->SMTPAuth = true;                               // Enable SMTP authentication
$mail->Username = '...@gmail.com'; // Ваш логин от почты с которой будут отправляться письма
$mail->Password = '*****************'; // Ваш пароль от почты с которой будут отправляться письма
$mail->SMTPSecure = 'ssl';                            // Enable TLS encryption, `ssl` also accepted
$mail->Port = 465; // TCP port to connect to / этот порт может отличаться у других провайдеров

$mail->setFrom('...@gmail.com'); // от кого будет уходить письмо?
$mail->addAddress('sipub@mrmail.info');     // Кому будет уходить письмо 
//$mail->addAddress('ellen@example.com');               // Name is optional
//$mail->addReplyTo('info@example.com', 'Information');
//$mail->addCC('cc@example.com');
//$mail->addBCC('bcc@example.com');
//$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 = 'Заявка с тестового сайта';
$mail->Body = '' .$name. ' Ostavil zayavku. Ego soobshenie ' .$message. '  This user email: ' .$email;
$mail->AltBody = '';

if(!$mail->send()) {
    echo 'Error';
} else {
    header('location: thank-you.html');
}
?>


HTML, к которому скрипт обращается
<meta charset="utf-8">

<form action="mail.php" method="POST">
			<input type="text" name="user-name" placeholder="ИМЯ">
			<input type="text" name="user-email" placeholder="ЭЛЕКТРОННАЯ ПОЧТА">
			<textarea name="user-message" id="message" rows="10" placeholder="СООБЩЕНИЕ"></textarea>
			<input type="submit" value="ОТПРАВИТЬ">
		</form>
  • Вопрос задан
  • 114 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Handbat0
Проверяй кодировку файла формы и скрипта - должна быть UTF-8 без БОМ
Вероятнее всего дело в этом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы