@uzi_no_uzi

Приходят кракозябры с формы обратной связи?

Использую такой скрипт. Письма приходят на почту, но почему-то проблемы с кодировкой.

Файлы имеют кодировку UTF-8 Без BOM.

5d8262a8308af827324871.png

<?php
require_once __DIR__.'/vendor/autoload.php';


use PHPMailer\PHPMailer\PHPMailer;

if(strlen($_POST['mail'])>5 and strlen($_POST['ms'])>4 and strlen($_POST['name'])>1 and strlen($_POST['phone'])>4){
error_reporting(E_ALL);
ini_set("display_errors", 1);

    function send_email($to,$theme,$message){   
        $mail = new PHPMailer(true); // Passing `true` enables exceptions
        try {
            //Server settings
            $mail->SMTPDebug = 0; // Enable verbose debug output
            $mail->isSMTP(); // Set mailer to use SMTP
            $mail->Host = 'smtp.mail.ru'; // Specify main and backup SMTP servers
            $mail->SMTPAuth = true; // Enable SMTP authentication
            $mail->Username = 'xxxxxxx@mail.ru'; // SMTP username
            $mail->Password = 'xxxxx'; // SMTP password
            $mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
            $mail->Port = 587; // TCP port to connect to
            $mail->SMTPOptions = array(
                'ssl' => array(
                    'verify_peer' => false,
                    'verify_peer_name' => false,
                    'allow_self_signed' => true
                )
            );  
            //Recipients
            $mail->setFrom('xxxxxx@mail.ru', 'Customer');
            $mail->addAddress('xxxxxxx@gmail.com', 'Putnik-center'); // Add a recipient

            $mail->isHTML(true); // Set email format to HTML
            $mail->Subject = 'Customer order Putnik-center';
            $mail->Body = 'Name: '.$_POST['name'].'<br /> Mail: '.$_POST['mail'].'<br /> Phone: '.$_POST['phone'].'<br /> Message: '.$_POST['ms'];
            $mail->AltBody = 'Application';
            $mail->send();
            echo '+';
        } catch (Exception $e) {
            echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
        }



    }

    if(send_email('','Заказ', 'Имя:'.$_POST['name'].'. <br >Cообщение: '.$_POST['ms'].'. <br> Почта: '.$_POST['mail'])){
        echo "+";
    }
}
?>
  • Вопрос задан
  • 1042 просмотра
Решения вопроса 1
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
мэйлер не знает что за строки вы ему пихаете, указывайте кодировку, читайте доку
$mail->CharSet = 'UTF-8';
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@constintmid
Laravel vue.js
С кодировкой проблемы поэтому и приходит эти кракозябры
Ответ написан
Комментировать
@postgresdev
укажите кодировку файла
и укажите в php:
header('Content-Type: text/html; charset=utf-8');
Ответ написан
Ваш ответ на вопрос

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

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