【问题标题】:How to get a line break in a plain text email RoR?如何在纯文本电子邮件 RoR 中换行?
【发布时间】:2011-03-01 20:46:59
【问题描述】:

我正在发送一封纯文本电子邮件,想知道如何在其中添加换行符。它显示在同一行。

From: <%= @name %>
<%= @text %>

谢谢

【问题讨论】:

    标签: ruby-on-rails email plaintext


    【解决方案1】:

    我可能完全错了,但这不是一个简单的 \n 吗?

    【讨论】:

    • 我在我的电子邮件中看到文字 \n 字符(根本没有换行符)。看起来它们已从换行符转换为 \n
    【解决方案2】:
    \r\n
    

    或者如果您要发送 html 电子邮件:

    <br />
    

    所以:

    From: <%= @name %> \r\n <%= @text %>
    From: <%= @name %> <br /> <%= @text %>
    

    【讨论】:

    • 这可能适用于某些系统,但在技术上并不正确。纯文本电子邮件中的新行应始终为 CRLF ("\r\n"):RFC 2822
    • 这对我不起作用。至少不在 Rails 4.1 邮件预览中(我还没有查看已发送的电子邮件)。我正在使用 Haml 并在自己的线路上有 \r\nRenders like this.
    • \r\n 应该在 内并用双引号括起来 - 。否则它被认为是简单的文本
    • 如果您使用 HAML 和 @SergiiMostovyi 的建议,请使用 #{'\r\n'}
    【解决方案3】:
    <%= "\r\n" %>
    

    在双引号和''内。

    否则将被视为简单文本。

    【讨论】:

    • 如果您使用的是 HAML,请使用 #{'\r\n'}
    【解决方案4】:

    如果你的模板是HAML,some_template.text.haml,你可以使用\字符:

    = t(".salutation_start", name: name)
    \
    = t(".paragraph.text")
    \
    \
    = t('.salutation_end')
    \
    = t('.contacts')

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-19
      • 1970-01-01
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 2017-06-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多