我正在获取mysql数据并使用php @mail:
$strHeader = "";
$strHeader .= "From:example@example.com\r\n";
$strHeader .= 'MIME-Version: 1.0' . "\r\n";
$strHeader .= "Content-Type: text/html; charset=utf-8\r\n"; // or UTF-8 //
$strHeader .= $strMessage . "\r\n";
$flgSend = @mail($strTo, $strSubject, null, $strHeader); // @ = No Show Error //
if ($flgSend) {
echo "Excel Generated & Email Sending.";
} else {
echo "Email Can Not Send.";
}
现在我有时会得到符号 ,所有数据都显示正确,只是在一个单词中将一个字母转换为 。
必须说我什么时候改变
$strHeader .= "Content-Type: text/html
到
$ strHeader。=“Content-Type:text / plain
没有错误的符号。
任何想法? 谢谢, MOR
答案 0 :(得分:1)
我解决了。 在PHP邮件中如果我们的任何行超过70个字符,我们应该使用wordwrap() 例如:
<?php
// The message
$message = "Line 1\r\nLine 2\r\nLine 3";
$message = wordwrap($message, 70, "\r\n");
// Send
mail('caffeinated@example.com', 'My Subject', $message);
?>
答案 1 :(得分:0)
尝试使用mb_encode_mimeheader(),检查,
http://php.net/manual/en/function.mb-send-mail.php