From 852538fd29ade7175944d2da7783b706e73fb339 Mon Sep 17 00:00:00 2001 From: Joel Chippindale Date: Fri, 28 Aug 2009 10:30:00 +0100 Subject: [PATCH] Fix ActionMailer to handle sent_on values that are not in local time zone --- actionmailer/lib/action_mailer/base.rb | 2 +- actionmailer/test/mail_service_test.rb | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletions(-) diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index 5ecefe7..e574755 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -676,7 +676,7 @@ module ActionMailer #:nodoc: m.cc = quote_address_if_necessary(cc, charset) unless cc.nil? m.reply_to = quote_address_if_necessary(reply_to, charset) unless reply_to.nil? m.mime_version = mime_version unless mime_version.nil? - m.date = sent_on.to_time rescue sent_on if sent_on + m.date = sent_on.to_time.dup.localtime rescue sent_on if sent_on headers.each { |k, v| m[k] = v } diff --git a/actionmailer/test/mail_service_test.rb b/actionmailer/test/mail_service_test.rb index 5584afa..44220ef 100644 --- a/actionmailer/test/mail_service_test.rb +++ b/actionmailer/test/mail_service_test.rb @@ -279,6 +279,14 @@ class TestMailer < ActionMailer::Base body :body => "foo", :bar => "baz" end + def sent_on_not_in_local_timezone(recipient) + recipients recipient + subject "testing sent on not in local timezone" + sent_on Time.local(2004, 6, 6).utc + from "system@loudthinking.com" + body "nothing to see here" + end + class <