-2

我对 PHP 很陌生,所以不要介意@... 是打开脚本没有错误的快速修复

我目前正在编写一个邮件脚本,它工作得很好。可悲的是,它将用户输入的文本作为.txt文件而不是纯文本发送

基本上,表单存储在messenger_mailsend.phpTextarea 的内容中messenger_mailsend_controller.php,使用$_POST[].

    @$inhalt = $_POST['inhalt'];
    $message = strip_tags($inhalt);

    if(isset($_POST['submit'])){
    @mail($mailto, $subject, 'why not zoidberg?', $headers); 
    echo 'The mail was sent!';
    }

'why not zoidberg' 是我用来检查 var 是否有问题的测试文本,实际上它说mail($mailto, $subject, $message, $headers);

是我用来从表单中获取输入消息、删除标签并将其存储为$message.

如果我这样做,var_dump它会说“我很满足”(在表单中输入的内容).. 当$messagevar 被一些纯文本替换时,它仍然被发送为TEXT.txt

我用于 $headers 的代码是:

    $headers .= 'From:' . $usrmail . "\n";
$headers .= 'Reply-To:' . $reply . "\n";
$headers .= 'X-Mailer: PHP/' . phpversion() . "\n";
$headers .= 'X-Sender-IP:' . $_SERVER['REMOTE_ADDR'] . "\n";
$headers .= 'Content-type: text/html; charset=ISO-8859-1\r\n';

$headers .= 'Cc: ' . $cc . "\n";
$headers .= 'Bcc: ' . $bcc . "\n";

-- 解决方案:通过将内容类型设置为 text/plain 可以正常工作,谢谢大家!--

4

1 回答 1

0

那么,当您在发送前剥离所有 html 标签时,您怎么能期望邮件以 html 格式发送....

但是,如果要发送 html 邮件,则必须在发送前在标题中定义相同的内容。见片段:

$to = 'bob@example.com';
$subject = 'Website Change Reqest';

$headers = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
$headers .= "CC: susan@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

@$inhalt = $_POST['inhalt'];
$message = strip_tags($inhalt);

然后你像这样发送邮件:

mail($to, $subject, $message, $headers);
于 2012-08-30T10:26:10.733 回答