Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP邮件编码问题_Php_Phpmailer - Fatal编程技术网

PHP邮件编码问题

PHP邮件编码问题,php,phpmailer,Php,Phpmailer,我发现php邮件发送存在问题。我需要用UTF-8编码邮件。主题工作正常,但消息已损坏。这是我的密码 <?php header('Content-Type: text/html; charset=utf-8'); if (isset($_POST['submit'])) { $name = $_POST['fname']; $mail = $_POST['fmail']; $discord = $_POST['fdiscord']; $vek = $

我发现php邮件发送存在问题。我需要用UTF-8编码邮件。主题工作正常,但消息已损坏。这是我的密码

    <?php
header('Content-Type: text/html; charset=utf-8'); 
if (isset($_POST['submit'])) {
    $name = $_POST['fname'];
    $mail = $_POST['fmail'];
    $discord = $_POST['fdiscord'];
    $vek = $_POST['fage'];
    $q1 = $_POST['fq1'];
    $q2 = $_POST['fq2'];
    $q3 = $_POST['fq3'];
    $q4 = $_POST['fq4'];
    $q5 = $_POST['fq5'];

    $mailto = "nabor@cloud-mc.cz";
    $headers = 'Content-Type: text/plain; charset=utf-8' . "\r\n";
    $headers .= 'Content-Transfer-Encoding: base64' . "\r\n";
    $headers = "From: ".$mail;
    $mailsub = '=?UTF-8?B?' . base64_encode("Nábor - ".$name) . '?=';
    $mailmsg =  '=?UTF-8?B?' . base64_encode("Odpověď na nábor:" .$name.".\n\n\nDiscord:".$discord.".\n\nVěk:".$vek);

    mail($mailto, $mailsub, $mailmsg, $headers);
    header("Location: done.html?mailsend");
}

?>

这就是邮件的样子

科目Nábor-Kolomboo 从…起tvkolombooo@gmail.com 消息
T2RWB3BEM8SPIG5HIG7DOWJVCJPLB2xVBWJVB28UCGOKRGGLZY29YZDPLB2xVBWJVB28JMZI1NY4KCLBEM2S6MTU=

问题似乎是您将邮件编码为base64:

更改此项:
base64_编码(“Odpověďnaábor:.$name.”。\n\n\nDiscord:.$discord.。\n\nVěk:.$vek)
对此:

“Odpově271; naábor:.$name..\n\n域名:.$discord.\n\nVěk:.$vek

不要这样做:
“发件人:”.$mail
;这是伪造的,将导致您的邮件被阻止、垃圾邮件过滤或反弹。您的脚本也容易受到标头注入攻击。查看实际使用(您标记的问题)会是一个好主意,它可以帮助您避免此类问题。您的问题与
phpmailer
无关。它可以工作,但消息没有编码为UTF-8,这基本上就是我正在尝试做的