在现有电子邮件正文的底部添加 HTML 元素


Tack a HTML element at the bottom of an existing email body

这是我的用例:

我已经将我的应用程序与 SendGrid 集成,它们为用户提供了一种通过在 HTML 中添加带有[UNSUBSCRIBE]元素来自定义取消订阅链接的方法。现在,我不想编辑现有电子邮件模板(HTML 文件)有两个原因。

  1. 有很多。
  2. 我只想在特殊情况下这样做

所以,我的想法是,当我发送电子邮件时,我可以将HTML附加到现有电子邮件正文的末尾PHP,如下所示:

$html = $html . "<div style='position:absolute;bottom:0px;width:100%;'>"
           .        "<div style='margin:0px auto;'>"
           .            "If you would like to stop receiving these emails <a href='[UNSUBSCRIBE]'>click here</a>"
           .        "</div>"
           .     "</div>";

但不幸的是,这仅将我的链接放在可查看电子邮件的底部,而不是整个电子邮件。因此,当用户向下滚动时,链接会卡在电子邮件的中间!我需要在这个元素上放置一个样式,无论是内联还是通过CSS,无论如何都会将我的链接一直放在底部。有什么想法吗?

确保它在</body>标签之前。为什么不做字符串替换?

$html = str_replace([yourDIVcode] . '</body>', '</body>', $html);