Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails 4 ActionMailer标头_Ruby On Rails_Ruby On Rails 4_Html Email_Email Headers - Fatal编程技术网

Ruby on rails Rails 4 ActionMailer标头

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

我在Rails4上,我有一个邮递员。这是根据以下内容创建的

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