Ruby on rails Rails 4 ActionMailer标头
我在Rails4上,我有一个邮递员。这是根据以下内容创建的Ruby on rails Rails 4 ActionMailer标头,ruby-on-rails,ruby-on-rails-4,html-email,email-headers,Ruby On Rails,Ruby On Rails 4,Html Email,Email Headers,我在Rails4上,我有一个邮递员。这是根据以下内容创建的 class UserMailer
class UserMailer
结束
在解决一些可交付性问题的过程中,我发现一些电子邮件包含不同的标题。事实证明,SPF、DKIM和电子邮件副本调整的组合能够解决交付问题(许多以前被垃圾邮件过滤器捕获),但我仍然想知道更多关于Rails如何为这些电子邮件创建标题的信息
例如,第二个包含在标题中:内容传输编码:7bit
,但第一个包含:内容传输编码:带引号的可打印
如您所见,它们都使用完全相同的配置。唯一的区别是视图的内容(都有HTML和文本版本)
rails是否根据内容调整标题 是的,rails会自动调整内容传输编码。如果邮件视图中有非标准字符,则标题可能会在
7bit
和quoted printable
之间随机切换(或者只需坚持quoted printable
)
如果需要,您可以强制邮件程序使用默认编码(7bit)
class-Mailer
但是,这很可能是由无效字符引起的,当您强制标题设置为
7bit
是时,rails会自动调整内容传输编码。如果邮件视图中有非标准字符,则标题可能会在7bit
和quoted printable
之间随机切换(或者只需坚持quoted printable
)
如果需要,您可以强制邮件程序使用默认编码(7bit)
class-Mailer
但是,它很可能是由无效字符引起的,当您强制标题设置为7bit
Ok时,该字符应该是可见的(例如)。下次我会把它作为一个问题发布。谢谢
在另一个帖子的帮助下,我现在已经解决了这个问题
嗯。下次我会把它作为一个问题发布。谢谢
在另一个帖子的帮助下,我现在已经解决了这个问题
@MZaragoza获得了有史以来最无意义编辑的徽章:'myusername'
->'user\u name'
我真的不想这样编辑,我想在代码块中包含代码类UserMailer
的开头,我注意到最后一个结尾在codeblock@MZaragoza获取有史以来最无意义的编辑的徽章:'myusername'
->'user\u name'
我真的不想这样编辑,我想在代码块中包含代码类UserMailer
的开头,我注意到最后一个结尾在代码块之外
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
class Mailer < ActionMailer::Base
default from: 'from@example.com',
content_transfer_encoding: '7bit'
...
end
m = mail(...)
m.transport_encoding = "quoted-printable"
m.deliver