PHP邮件()搞乱了HTML href';s
我在PHP脚本中有一个mail()函数。它发送HTML很好-标题设置正确。然而,不正确的是HREF的表示——它们在《雷鸟》中都是乱七八糟的 以下是发送的内容:PHP邮件()搞乱了HTML href';s,php,html,email,formatting,Php,Html,Email,Formatting,我在PHP脚本中有一个mail()函数。它发送HTML很好-标题设置正确。然而,不正确的是HREF的表示——它们在《雷鸟》中都是乱七八糟的 以下是发送的内容: 但得到的是: 单击 请注意,链接文本位于标记之前,没有结束标记(即使原始PHP字符串中包含一个结束标记) 我使用的标题如下: $headers = 'From: noreply@' . $url_short . "\r\n"; $headers .= 'MIME-Version: 1.0' . "\r\n"; $headers .= '
但得到的是:
单击
请注意,链接文本位于标记之前,没有结束标记(即使原始PHP字符串中包含一个结束标记)
我使用的标题如下:
$headers = 'From: noreply@' . $url_short . "\r\n";
$headers .= 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
(使用了几个PHP变量)
有人能帮你解决这个特殊问题吗?如果你检查了消息的来源,它看起来是正确的,那么可能是thunderbird显示不正确。如果您看到电子邮件源中的错误,那么您的PHP脚本可能有问题。如果您检查消息源,并且消息看起来正确,那么可能是thunderbird显示不正确。如果您看到电子邮件源中的错误,那么您的PHP脚本可能有问题。能否显示整个mail()调用?这可能是单引号使用不当的一个问题。能否显示整个mail()调用?这可能是单引号使用不当的问题。ceejayoz提到了这一点,但是:链接到相对URL不会像您预期的那样起作用,这可能是问题的原因。如果这不能解决问题,那么看看其他读者是否也会遇到这种情况。ceejayoz提到了这一点,但是:链接到相对URL不会像您预期的那样起作用,这可能是问题的原因。如果这还不能解决问题,那么看看它是否也发生在其他阅读器中。尝试将锚定标记更改为:
- 将完整域url添加到链接的前缀
- 将href属性用双引号而不是单引号括起来(HTML属性应始终用双引号括起来,即使允许使用单引号)
- 将完整域url添加到链接的前缀
- 将href属性用双引号而不是单引号括起来(HTML属性应始终用双引号括起来,即使允许使用单引号)
/index.php
就不太可能起作用。尝试一个绝对URL。这些链接在其他电子邮件客户机中有效吗?我发现引用也被删除了,这很奇怪。试着用双引号测试一下,看看它是否能做同样的事情?@stealthyninja-我用双引号测试了一下,但没用,谢谢:)@ceejayoz-谢谢!我使用/index.php真是太蠢了——电子邮件客户端根本不知道该使用哪台服务器!非常感谢!如果没有其他内容,链接到/index.php
可能不起作用。尝试一个绝对URL。这些链接在其他电子邮件客户机中有效吗?我发现引用也被删除了,这很奇怪。试着用双引号测试一下,看看它是否能做同样的事情?@stealthyninja-我用双引号测试了一下,但没用,谢谢:)@ceejayoz-谢谢!我使用/index.php真是太蠢了——电子邮件客户端根本不知道该使用哪台服务器!非常感谢!“应该”是双引号有什么特别的原因吗?在我的经验中,用单引号括起html属性并不总是适用于所有浏览器/电子邮件客户端。我不知道发生这种情况的确切原因,但我猜这是因为不同的语言对单引号和双引号的解释不同。在本例中,单引号可能会弄乱PHP mail()函数(如Resorath所指出的),该函数构造了要在电子邮件中发送的最后一条消息。这非常有效-我没有使用http://path。至于单引号和双引号,这是因为它们位于PHP字符串中。我会改变它们以保持兼容性。有什么特别的原因让“应该”是双引号吗?在我的经验中,用单引号括起html属性并不总是适用于所有浏览器/电子邮件客户端。我不知道发生这种情况的确切原因,但我猜这是因为不同的语言对单引号和双引号的解释不同。在本例中,单引号可能会弄乱PHP mail()函数(如Resorath所指出的),该函数构造了要在电子邮件中发送的最后一条消息。这非常有效-我没有使用http://path。至于单引号和双引号,这是因为它们位于PHP字符串中。不过我会改变它们以保持兼容性。请参阅我在@ceejayoz上面的评论。谢谢见我在上面的评论@ceejayoz。谢谢不是,但是谢谢。问题不在于使用整个URL(位),但无论如何还是要感谢:)不是,但是谢谢。问题不在于使用整个URL(位),但无论如何还是要感谢:)