【问题标题】:Do I need `<html>` for sending HTML email using Swift使用 Swift 发送 HTML 电子邮件是否需要`<html>`
【发布时间】:2017-03-14 09:31:59
【问题描述】:

我想用 swift 发送一个 HTML。我是否需要创建一个包含&lt;html&gt;&lt;head&gt;&lt;body&gt; 标签的html 电子邮件,或者switfmailer 会自动执行此操作吗?

例如,如果我想发送内容为My &lt;em&gt;amazing&lt;/em&gt; body 的html 电子邮件,那么使用就足够了

// Or set it after like this
$message->setBody('My <em>amazing</em> body', 'text/html');

或者我需要写吗

// Set the body
$message->setBody(
'<html>' .
' <head></head>' .
' <body>' .
' My <em>amazing</em> body' . 
' </body>' .
'</html>',
  'text/html' // Mark the content-type as HTML
);

正确的做法是什么?

【问题讨论】:

    标签: html swiftmailer


    【解决方案1】:

    如果你想发送带有 html 内容的电子邮件,你必须

    1. 将内容类型设置为text/html:

      $message-&gt;setBody($yourHtml, 'text/html');

    2. 使用客户端可以正常显示的html内容。

    这可能与格式正确的 html 消息没有太大关系。许多电子邮件客户端往往不遵循网络标准。因此,我建议使用在线验证器针对不同的常用电子邮件客户端检查您的 html 内容。几个例子:

    顺便说一句,使用 swiftmailer,您甚至可以在一封电子邮件中添加两种内容类型,如下所示:

    [...]
    $message->setBody('My <em>html</em> body', 'text/html');
    $message->addPart('My plain text', 'text/plain');
    [...]
    

    【讨论】:

      猜你喜欢
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 2011-03-30
      • 1970-01-01
      • 2013-05-26
      • 2010-10-27
      相关资源
      最近更新 更多