Symfony 在客户端收到动态创建的锚定标记时,不会在电子邮件模板中显示为链接

Symfony 在客户端收到动态创建的锚定标记时,不会在电子邮件模板中显示为链接,symfony,email,templates,hyperlink,phpmailer,Symfony,Email,Templates,Hyperlink,Phpmailer,我正在为电子邮件模板创建一个链接以批准某些订单 $approvalLink = "<a href='" . $url . "/Request/Approval/code/" . $Code . "'>Approve</a>"; $approvalLink=”“; 此链接在大多数情况下都可以正常工作,但有时会显示为字符串,因为在“之间添加了一个意外的空格。第一个建议是以这种方式使用$approvalLink变量,应该更安全,并且可能会修复隐藏字符或编码问题: $appr

我正在为电子邮件模板创建一个链接以批准某些订单

$approvalLink = "<a href='" . $url . "/Request/Approval/code/" . $Code . "'>Approve</a>";
$approvalLink=”“;

此链接在大多数情况下都可以正常工作,但有时会显示为字符串,因为在“之间添加了一个意外的空格。第一个建议是以这种方式使用$approvalLink变量,应该更安全,并且可能会修复隐藏字符或编码问题:

$approvalLink = sprintf('<a href="%s/Request/Approval/code/%s">Approve</a>', $url, $Code);
$approvalLink=sprintf(“”,$url,$code);

第二个建议是使用Twig构建电子邮件正文,如图所示。

发生此问题的原因是SMTP添加了一个换行符,其中换行符大于998个字符。要解决此问题,我们需要手动添加新行或对电子邮件内容进行base64编码

此处的参考和解决方案:


可能是流程某些部分中的字符编码导致终端客户端不支持?HTML段是硬编码的(或存储在某处),并且编码正确?
$approvalLink = sprintf('<a href="%s/Request/Approval/code/%s">Approve</a>', $url, $Code);