GMAIL 显示使用 file_get_contents 时截断的消息
GMAIL shows message clipped when using file_get_contents
我在使用 PHPmailer 发送电子邮件时已切换到使用 HTML 模板。这样做之后,我在 GMAIL 中收到一条消息,说明 [Message clipped] View entire message
在故障排除中,我尝试删除 HTML 模板文件的内容,使其为空白,但仍然收到截断的消息。但是,如果我将 HTML 模板代码直接复制到 $mail->MsgHTML('');
并且不使用 file_get_contents
,我不会收到消息被剪裁的消息。这让我相信 file_get_contents
中的某些东西导致了这个问题?
我应该补充一点,显示消息时实际上没有从电子邮件中剪下任何内容。
$message = file_get_contents('path_to_HTML_template');
$mail->MsgHTML($message);
$mail->send();
更新
显然我需要在发送之前将模板转换为 HTML-ENTITIES:
$message = mb_convert_encoding($message, 'HTML-ENTITIES', "UTF-8");
更新 2
我不得不使用 mb_convert_encoding
的原因是我的 HTML 模板文件中的 BOM(字节顺序标记)。删除它后我不再需要转换模板。
我在使用 PHPmailer 发送电子邮件时已切换到使用 HTML 模板。这样做之后,我在 GMAIL 中收到一条消息,说明 [Message clipped] View entire message
在故障排除中,我尝试删除 HTML 模板文件的内容,使其为空白,但仍然收到截断的消息。但是,如果我将 HTML 模板代码直接复制到 $mail->MsgHTML('');
并且不使用 file_get_contents
,我不会收到消息被剪裁的消息。这让我相信 file_get_contents
中的某些东西导致了这个问题?
我应该补充一点,显示消息时实际上没有从电子邮件中剪下任何内容。
$message = file_get_contents('path_to_HTML_template');
$mail->MsgHTML($message);
$mail->send();
更新
显然我需要在发送之前将模板转换为 HTML-ENTITIES:
$message = mb_convert_encoding($message, 'HTML-ENTITIES', "UTF-8");
更新 2
我不得不使用 mb_convert_encoding
的原因是我的 HTML 模板文件中的 BOM(字节顺序标记)。删除它后我不再需要转换模板。