sprintf()中的字符<和>用于发送电子邮件

时间:2019-06-26 17:03:02

标签: php email printf

我在PHP中遇到问题,但似乎找不到对此的解释。

我有一个简单的sprintf来撰写电子邮件正文:

$message = sprintf( 'Order %1$s received. P.O. Box %2$s', 10258, 'My company <order@mycompany.com>' );

在电子邮件正文中,仅显示电子邮件地址“我的公司”的一部分。电子邮件地址中直到<字符为止的部分。我无法使用html实体。

我的解决方案是删除电子邮件地址中的字符<和>。有更好的解决方案吗?

PHP版本:7.2.19(Zend:3.2.0)

提前感谢您的时间!

1 个答案:

答案 0 :(得分:0)

因为除去了这些特殊字符。现在,

  • 您可以删除这些(根据您的解决方案)

  • 用<&lt;替换<和用&gt;替换(错误的解决方案)

  • 使用htmlspecialchars()(推荐)