我对PHP很陌生,所以不介意@
...是一个快速解决方法,可以毫无错误地打开脚本
我目前正在研究邮件脚本并且它的工作非常好。
遗憾的是,它将用户输入的文本作为.txt
文件而不是纯文本
基本上,表单存储在messenger_mailsend.php
中,并且使用messenger_mailsend_controller.php
将Textarea的内容转到$_POST[]
。
@$inhalt = $_POST['inhalt'];
$message = strip_tags($inhalt);
if(isset($_POST['submit'])){
@mail($mailto, $subject, 'why not zoidberg?', $headers);
echo 'The mail was sent!';
}
'为什么不zoidberg'是我用来检查var是否错误的测试文本,实际上它是mail($mailto, $subject, $message, $headers);
是我用来从表单中获取输入消息的代码,删除标记并将其存储为$message
。
如果我做了var_dump
,它会说'我很满意'(表格中输入的内容)..
当$message
var被某些纯文本替换时,它仍会以TEXT.txt
我用于$ header的代码是:
$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,它可以运行,感谢任何人! -
答案 0 :(得分: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);