【发布时间】:2021-07-19 14:06:31
【问题描述】:
我发现 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");
}
?>
这就是邮件的样子
Subject Nábor - Kolombooo 来自 tvkolombooo@gmail.com 信息 T2Rwb3bEm8SPIG5hIG7DoWJvcjpLb2xvbWJvb28uCgoKRGlzY29yZDpLb2xvbWJvb28jMzI1Ny4KClbEm2s6MTU=
【问题讨论】:
-
不要这样做:
"From: ".$mail;它是伪造的,会导致您的邮件被阻止、垃圾邮件过滤或退回。您的脚本也容易受到标头注入攻击。看看实际使用PHPMailer(你用它来标记你的问题)是个好主意,它可以帮助你避免这样的问题。 -
你的问题与
phpmailer无关。 -
如果回答对您有帮助,请标记为正确。