php - PHP邮件编码问题
问题描述
我发现 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 - Kolombooo 来自 tvkolombooo@gmail.com 消息 T2Rwb3bEm8SPIG5hIG7DoWJvcjpLb2xvbWJvb28uCgoKRGlzY29yZDpLb2xvbWJvb28jMzI1Ny4KClbEm2s6MTU=
解决方案
问题似乎是您将消息编码为base64:
改变这个:
base64_encode("Odpověď na nábor:" .$name.".\n\n\nDiscord:".$discord.".\n\nVěk:".$vek);
到这个:
"Odpověď na nábor:" .$name.".\n\n\nDiscord:".$discord.".\n\nVěk:".$vek;
推荐阅读
- javafx - 试图让日志记录 gui 第一个从我的应用程序运行
- apache-flink - 如何从头到尾跟踪有限的数据流?
- r - 有没有办法自动重新安装“由具有不同内部结构的 R 版本安装”的软件包?
- bash - Bash 命令:替换文本开始
- reactjs - 如何在反应中处理元标记?
- octave - 如何在 Octave 中使用 Psychtoolbox 收集非 ascii 字符?
- flutter - 如何比较流中的每个事件,streamController dart
- python - 如何在 python 3.7 上发布基于文本的游戏?
- c# - 编写显式接口 I1 c=new customer();
- java - 与目标 VM 断开连接,地址:'127.0.0.1:6935',传输:'socket'