【问题标题】:Render html elements in email在电子邮件中呈现 html 元素
【发布时间】:2012-05-02 15:57:20
【问题描述】:

我正在尝试在电子邮件中呈现 html,即使在搜索网络之后,我仍然有点困惑.. 基本上我想在电子邮件中说一个带有背景颜色显示的框(div)。我正在使用 php mail() 函数发送电子邮件,并尝试将消息正文设置为字符串,例如:"<div style='background:black;'>Test</div>",但电子邮件不呈现 html,而是仅显示 html 文本。 有没有一种简单的方法呈现 html?感谢您的帮助!

【问题讨论】:

  • 您是以 html 格式还是富文本格式发送电子邮件?
  • 感谢大家的回复!

标签: html email html-email


【解决方案1】:

我认为你需要在标题中使用这个:

$headers .= "内容类型:text/html\r\n";

此 URL 显示了如何执行此操作:

http://www.webhostingtalk.com/showthread.php?t=416467

(我相信您已经知道这一点 - 您还必须确保您的客户 可以显示 HTML 电子邮件)

【讨论】:

    【解决方案2】:

    您应该首先查看 php 文档。

    http://php.net/manual/en/function.mail.php#example-3146

    他们提供了如何使用 mail() 函数发送 html 电子邮件的示例。

    您可能还想了解发送 html 电子邮件的最佳实践,因为每个电子邮件客户端都会以不同的方式呈现 html。 CSS 支持非常少,我也不推荐使用 div。你真的只想使用最基本的 html 标签,比如<p>, <a>, <table> and <img /> 标签。你所有的 css 也应该是内联的。

    这里是 CSS 支持的一个很好的参考。 http://www.campaignmonitor.com/css/

    如果您打算发送大量电子邮件,那么您可能需要研究类似http://mailchimp.com 这样的服务,因为邮件功能并不是真正用于处理大量电子邮件。

    【讨论】:

      【解决方案3】:

      您必须通过将 Content-type 设置为 text/html 来正确编码您的电子邮件以表明它是 HTML。

      有关可靠的背景信息,请参阅http://en.wikipedia.org/wiki/MIME。

      根据您的平台,几乎可以肯定有一个工具集可以简化此操作。例如,在 Microsoft ASP.Net 上,我使用 MvcMailer。如果您指定您的平台,我会提出具体的建议。

      对于 PHP,这里有一篇关于 sending nicely formatted HTML email 的精彩文章

      $to = 'bob@example.com';
      
      $subject = 'Website Change Reqest';
      
      $headers = "From: " . strip_tags($_POST['req-email']) . "\r\n";
      $headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
      $headers .= "CC: susan@example.com\r\n";
      $headers .= "MIME-Version: 1.0\r\n";
      $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
      
      mail($to, $subject, $message, $headers);
      

      【讨论】:

        【解决方案4】:

        您需要先设置标题,然后才能使用mail(); 在电子邮件中发送 HTML

        例如:

        $headers = "MIME-Version: 1.0" . "\r\n";
        $headers .= "Content-type:text/html;charset=iso-8859-1" . "\r\n";
        $headers .= 'From: <email@email.com>' . "\r\n";
        
        mail($to,$subject,$message,$headers);
        

        显然,您需要小心如何使用新发现的 HTML 电子邮件功能,因为并非所有电子邮件客户端都会以相同的方式呈现它(您认为交叉测试浏览器很痛苦)。这里有一个很好的指南 -> http://www.campaignmonitor.com/css/

        这里还有一个很棒的网站,它不仅看起来棒极了,而且还为您提供了您需要的所有信息 -> http://www.emailology.org/

        【讨论】:

          猜你喜欢
          • 2021-06-03
          • 1970-01-01
          • 2014-03-20
          • 2017-11-07
          • 1970-01-01
          • 1970-01-01
          • 2012-07-31
          • 2018-04-18
          • 1970-01-01
          相关资源
          最近更新 更多