【问题标题】:Rails 4 ActionMailer headersRails 4 ActionMailer 标头
【发布时间】:2013-09-18 04:30:23
【问题描述】:

我在 Rails 4 上,我有一个邮件。这是在the tutorial in the docs 之后创建的。

class UserMailer < ActionMailer::Base

@delivery_options = {
        user_name: 'user_name',
        password: 'password',
        address: 'smtp.sendgrid.net'
}

default from: "Auto <auto@mysite.me>"

def welcome_email (user, password)
    @user = user
    @password = password
    @url = "http://url.com"
    mail(to: @user.email, subject: "Welcome to my site", delivery_method_options: @delivery_options)
end

def project_invite_email (email, project)
    @project = project
    mail(to: email, subject: "#{@project.user.first_name} #{@project.user.last_name} requests a video from you", delivery_method_options: @delivery_options)
end

结束

在解决一些可送达性问题的过程中,我发现一些电子邮件包含的标头与其他电子邮件不同。事实证明,SPF、DKIM 和对电子邮件副本的调整的组合能够解决可传递性问题(许多以前被垃圾邮件过滤器捕获),但我仍然想了解更多关于 Rails 如何创建标头的信息这些电子邮件。

例如,第二个在标题中包含:Content-Transfer-Encoding: 7bit,但第一个包含:Content-Transfer-Encoding: quoted-printable

如您所见,它们都使用完全相同的配置。唯一的区别是视图的内容(都有 HTML 和文本版本)。

rails 是否根据内容调整标题?

【问题讨论】:

  • @MZaragoza 获得史上最无意义编辑的徽章:'myusername' -> 'user_name'
  • 我真的不想进行那个编辑,我想将代码 class UserMailer &lt; ActionMailer::Base 的开头包含到代码块中我只是注意到最后一个结尾在代码块之外

标签: ruby-on-rails ruby-on-rails-4 html-email email-headers


【解决方案1】:

是的,rails 会自动调整 Content-Transfer-Encoding。如果您的邮件视图中有非标准字符,标头可能会在7bitquoted-printable 之间随机切换(或者只使用quoted-printable)。

如果需要,您可以强制邮件程序使用默认编码(7 位)。

class Mailer < ActionMailer::Base
  default from: 'from@example.com',
          content_transfer_encoding: '7bit'

  ...
end

但它很可能是由无效字符引起的,一旦您将标头强制为7bit,它应该是可见的(例如Â)。

【讨论】:

    【解决方案2】:

    好的。下次我会把它作为问题发布。谢谢。

    在另一篇文章的帮助下,我现在已经解决了这个问题。

    How to change the mailer Content-Transfer-Encoding settings in Rails?

    m = mail(...)
    m.transport_encoding = "quoted-printable"
    m.deliver
    

    【讨论】:

      猜你喜欢
      • 2015-02-11
      • 1970-01-01
      • 1970-01-01
      • 2017-07-14
      • 1970-01-01
      • 2015-01-12
      • 2014-11-27
      • 2014-12-31
      • 1970-01-01
      相关资源
      最近更新 更多