Tôi đang gửi thư thử nghiệm bằng cách sử dụng ActionMailer. Mẫu đang được hiển thị và thư đang được phân phối tốt. Vấn đề duy nhất là mimepart và dữ liệu tiêu đề khác được hiển thị bởi Google trong nội dung thư.Rails mailer mimepart hiển thị dưới dạng văn bản trong nội dung thư
Dưới đây là đoạn code mà mail ..
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
và Dưới đây là những email nhận được.
----==_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]
2.local.mail> Hi bing
column 1 column 2
----==_mimepart_508fd46252b8c_8023fe595835ad0479a6--
Output của giao diện điều khiển -
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>>
Vấn đề là ': content_type'. Tôi đã xóa 'format.text' và để lại': content_type'. Email HTML đang được gửi mà không có bất kỳ lỗi nào. Mặc dù tôi chưa tìm ra rằng những gì ': content_type' nên được sử dụng nếu tôi đã gửi văn bản dự phòng cũng như trong email. –
Bạn có thể sử dụng nhiều định dạng. Sau đó, Mailer sẽ tạo email nhiều phần, với tất cả các định dạng người dùng. Giao diện web hoặc ứng dụng khách của người dùng sẽ tự động chọn định dạng thích hợp. Để sử dụng nhiều định dạng hơn, hãy xóa tham số ": content_type". Tôi vừa thêm ví dụ vào trả lời. Hãy xem [hướng dẫn đường ray] này (http://guides.rubyonrails.org/action_mailer_basics.html#sending-multipart-emails) để biết thêm chi tiết và thông tin đặt hàng. – rdamborsky