0

私は Rails 4 を使用しており、メーラーが 1 つあります。これは、ドキュメントのチュートリアルに従って作成されました。

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 がヘッダーを作成する方法についてさらに知りたいこれらのメールの場合。

たとえば、2 番目のものはヘッダーにこれを含めます:Content-Transfer-Encoding: 7bitしかし、最初のものはこれを持っています:Content-Transfer-Encoding: quoted-printable

ご覧のとおり、どちらもまったく同じ構成を使用しています。唯一の違いは、ビューのコンテンツです (両方とも HTML とテキスト バージョンがあります)。

Rails はコンテンツに基づいてヘッダーを調整していますか?

4

2 に答える 2

3

Ok。次回は質問として投稿します。ありがとう。

他の投稿の助けを借りて、これを解決しました。

RailsでメーラーのContent-Transfer-Encoding設定を変更するには?

m = mail(...)
m.transport_encoding = "quoted-printable"
m.deliver
于 2014-09-28T03:06:39.093 に答える
1

はい、Rails は自動的に調整しContent-Transfer-Encodingます。メーラー ビューに非標準文字が含まれている場合、ヘッダーが と の間7bitでランダムに切り替わるquoted-printable(または のままになるquoted-printable) 場合があります。

必要に応じて、メーラーにデフォルトのエンコーディング (7 ビット) を使用させることができます。

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

  ...
end

ただし、無効な文字が原因である可能性が最も高く、ヘッダーを強制的に7bit.

于 2013-12-12T09:59:16.770 に答える