Php html电子邮件链接中的查询字符串格式不正确

Php html电子邮件链接中的查询字符串格式不正确,php,wordpress,woocommerce,html-email,email-client,Php,Wordpress,Woocommerce,Html Email,Email Client,我遇到了一个非常奇怪的问题。提供跟踪包链接的html电子邮件看起来与预期完全一样,但对于某些用户,它会去掉等号并删除查询字符串中的一些字符: PHP代码: $url='1!'https://www.fedex.com/fedextrack/?tracknumbers=' . $跟踪; $url_encoded=htmlentities($url); $note.=“联邦快递追踪号码”。 “”$url_编码; 以下是我在桌面和移动设备上查看Gmail中的电子邮件标记时看到的内容: &l

我遇到了一个非常奇怪的问题。提供跟踪包链接的html电子邮件看起来与预期完全一样,但对于某些用户,它会去掉等号并删除查询字符串中的一些字符:

PHP代码:

$url='1!'https://www.fedex.com/fedextrack/?tracknumbers=' . $跟踪;
$url_encoded=htmlentities($url);
$note.=“联邦快递追踪号码”。
“

”$url_编码;
以下是我在桌面和移动设备上查看Gmail中的电子邮件标记时看到的内容:

    <blockquote>
    <p>
        <span style="font-weight:bold;font-size:18px">Fedex Tracking Number 
            <a href="https://www.fedex.com/fedextrack/?tracknumbers=123456789012" 
                style="color:#505050;font-weight:normal;text-decoration:underline" 
                target="_blank">123456789012</a>
         </span>
         <br>
         <br>
         <a href="https://www.fedex.com/fedextrack/?tracknumbers=123456789012" 
            target="_blank">https://www.fedex.com/<wbr>fedextrack/?tracknumbers=<wbr>123456789012</a></p>
</blockquote>


联邦快递追踪号码


下面是一些其他人在查看电子邮件标记时看到的内容:

<blockquote>
    <p>
        <span style="font-weight:bold;font-size:18px">Fedex Tracking Number 
          <a href="https://www.fedex.com/fedextrack/?tracknumbers%203456789012" 
            style="color:#505050;font-weight:normal;text-decoration:underline" 
             target="_blank">123456789012</a>
        </span>
        <br>
        <br>
        <a href="https://www.fedex.com/fedextrack/?tracknumbers" 
          target="_blank">https://www.fedex.com/<wbr>fedextrack/?tracknumbers</a> 3456789012
    </p>
</blockquote>


联邦快递追踪号码


3456789012

因此,似乎解析电子邮件以供查看的任何内容都存在链接查询字符串的问号和等号问题。它的格式不同

仅供参考,我正在使用Woocommerce wordpress插件的简单“添加订单注释”功能


有什么想法吗?

用户是否在使用经过额外过滤的电子邮件时遇到此问题?我见过类似这样的东西:将电子邮件发送到公司网络,在那里,电子邮件被大量过滤,HTML可以以各种方式随机剥离或破坏。我怀疑任何人都不能肯定地回答这个问题,除非你能提供更多关于遇到问题的用户的详细信息——他们在什么网络上,以及他们正在使用什么电子邮件客户端。
=XX
(XX是十六进制数字)在以某种方式编码的电子邮件中具有特殊意义。您可能忽略了声明电子邮件的编码,这就是为什么不同的客户端以不同的方式呈现它。@NiettheDarkAbsol所指的是:我认为你们都是正确的。检查WooCommerce类使我相信只设置了“内容类型”,没有编码。但它确实有一个过滤器钩子,“woocommerce\u email\u headers”,我已经钩住了这个钩子并附加了一个“Content Transfer Encoding:8bit”,所以希望它能被解决。@NiettheDarkAbsol我想你应该在这里发布你的评论作为答案,因为在我看来这个问题已经解决了
<blockquote>
    <p>
        <span style="font-weight:bold;font-size:18px">Fedex Tracking Number 
          <a href="https://www.fedex.com/fedextrack/?tracknumbers%203456789012" 
            style="color:#505050;font-weight:normal;text-decoration:underline" 
             target="_blank">123456789012</a>
        </span>
        <br>
        <br>
        <a href="https://www.fedex.com/fedextrack/?tracknumbers" 
          target="_blank">https://www.fedex.com/<wbr>fedextrack/?tracknumbers</a> 3456789012
    </p>
</blockquote>