简体   繁体   English

PHP 邮件编码问题

[英]PHP mail encoding issue

i found an issue with php mail sending.我发现 php 邮件发送存在问题。 I need to encode the mail in UTF-8.我需要在 UTF-8 中对邮件进行编码。 The subject works fine, but the message is corrupted.主题工作正常,但消息已损坏。 This is my code这是我的代码

    <?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");
}

?>

And this is how the mail looks like这就是邮件的样子

Subject Nábor - Kolombooo From tvkolombooo@gmail.com Message T2Rwb3bEm8SPIG5hIG7DoWJvcjpLb2xvbWJvb28uCgoKRGlzY29yZDpLb2xvbWJvb28jMzI1Ny4KClbEm2s6MTU=主题 Nábor - Kolombooo 来自 tvkolombooo@gmail.com 消息 T2Rwb3bEm8SPIG5hIG7DoWJvcjpLb2xvbWJvb28uCgoKRGlzY29yZDpLb2xvbWJvb28jMzI1Ny4KClbEm2s6M

The problem seems to be that you are encoding your message as base64:问题似乎是您将消息编码为 base64:

Change this:改变这个:
base64_encode("Odpověď na nábor:".$name.".\n\n\nDiscord:".$discord.".\n\nVěk:".$vek);
To this:对此:
"Odpověď na nábor:".$name.".\n\n\nDiscord:".$discord.".\n\nVěk:".$vek;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM