6
ActionMailerを使用してテストメールを送信しています。テンプレートがレンダリングされ、メールが正常に配信されています。唯一の問題は、mimepartと他のヘッダーデータがGoogleによってメッセージ本文に表示されることです。ここで Railsメーラmimepartがメッセージ本文のテキストとして表示される
は...def testing
mail(:to => "[email protected]",:subject => "html mailer", :content_type => "text/html") do |format|
format.html { render 'testing' }
format.text { render :text => "bing" }
end
end
コードのメールで、ここでは、電子メールを受信します。
----==_mimepart_508fd46252b8c_8023fe595835ad0479a6 Date: Tue, 30 Oct 2012 18:51:38 +0530
Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit
Content-ID: <[email protected].local.mail>
bing ----==_mimepart_508fd46252b8c_8023fe595835ad0479a6 Date: Tue, 30 Oct 2012 18:51:38
+0530 Mime-Version: 1.0 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding:
7bit Content-ID: <[email protected]poorv-Parijats-MacBook-Pro-
2.local.mail> Hi bing
column 1 column 2
----==_mimepart_508fd46252b8c_8023fe595835ad0479a6--
コンソールの出力 -
Loading development environment (Rails 3.2.2)
1.9.3-p125 :001 > RankMailer.testing.deliver
I, [2012-10-30T18:51:38.331238 #2050] INFO -- : Rendered rank_mailer/testing.html.erb
(1.8ms)
I, [2012-10-30T18:51:38.333117 #2050] INFO -- : Rendered text template (0.0ms)
I, [2012-10-30T18:51:45.824962 #2050] INFO -- :
Sent mail to [email protected] (7484ms)
D, [2012-10-30T18:51:45.825125 #2050] DEBUG -- : Date: Tue, 30 Oct 2012 18:51:38 +0530
From: [email protected]
To: [email protected]
Message-ID: <[email protected].local.mail>
Subject: html mailer
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
----==_mimepart_508fd46252b8c_8023fe595835ad0479a6
Date: Tue, 30 Oct 2012 18:51:38 +0530
Mime-Version: 1.0
Content-Type: text/plain;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <[email protected].local.mail>
bing
----==_mimepart_508fd46252b8c_8023fe595835ad0479a6
Date: Tue, 30 Oct 2012 18:51:38 +0530
Mime-Version: 1.0
Content-Type: text/html;
charset=UTF-8
Content-Transfer-Encoding: 7bit
Content-ID: <[email protected].local.mail>
Hi bing
<table style="border:1px solid red">
<tr>
<td>column 1</td>
<td>column 2</td>
</tr>
</table>
----==_mimepart_508fd46252b8c_8023fe595835ad0479a6--
=> #<Mail::Message:70255316899740, Multipart: false, Headers: <Date: Tue, 30 Oct 2012 18:51:38 +0530>, <From: [email protected]>, <To: [email protected]>, <Message-ID: <[email protected].local.mail>>, <Subject: html mailer>, <Mime-Version: 1.0>, <Content-Type: text/html>, <Content-Transfer-Encoding: 7bit>>
問題は 'content_type'でした。私は 'format.text'を削除し、':content_type'をそのまま残しました。 HTML電子メールがエラーなしで送信されています。私はメールでフォールバックテキストも送っておけば、 ':content_type'を使うべきだということはまだ分かっていません。 –
複数の形式を使用できます。その後、メーラーはすべてのユーザーフォーマットでマルチパートメールを作成します。ユーザーのクライアントまたはWebインターフェイスは自動的に適切な形式を選択します。より多くのフォーマットを使用するには、 ":content_type"パラメータを削除してください。私はちょうど返信に例を追加しました。詳細と注文情報については、この[rails guide](http://guides.rubyonrails.org/action_mailer_basics.html#sending-multipart-emails)をご覧ください。 – rdamborsky