Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

fixed some bugs.

  • Loading branch information...
commit 5c507e5a4add3f90d983371fae6bf49b80650a05 1 parent 4bc66ab
@kusakari authored
Showing with 15 additions and 12 deletions.
  1. +1 −1  MIT-LICENSE
  2. +8 −6 README
  3. +6 −5 lib/actionmailer_ja/base.rb
View
2  MIT-LICENSE
@@ -1,4 +1,4 @@
-Copyright (c) 2009 Kei Kusakari
+Copyright (c) 2009 KUSAKARI Kei
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
View
14 README
@@ -61,21 +61,21 @@ ActionMailer は Subject, From, Cc, Recipients に日本語を使うと文字化
ActionMailer::Ja::auto_base64_encode = false
-自動エンコード機能を使わない場合、例えば以下のようにして手動で base64 を呼び出します
+自動エンコード機能を使わない場合、例えば以下のように quote_if_necessary を利用します
class ActionmailerJaTest < ActionMailer::Base
def test(user_name, email)
@subject = "㈱テスト№①"
- @recipients = base64("#{user_name} <#{email}>")
- @from = base64("#{$ADMIN_NAME} <#{$ADMIN_MAIL}>")
+ @recipients = quote_if_necessary("#{user_name} <#{email}>", 'iso-2022-jp')
+ @from = quote_if_necessary("#{$ADMIN_NAME} <#{$ADMIN_MAIL}>", 'iso-2022-jp')
end
end
*機種依存文字を代替文字に置換する機能の提供。
-iPhone などの MUA では Subject などに①などの機種依存文字を使うと文字化けしてしまいます。
+iPhone の Mail.app などの MUA では Subject などに①などの機種依存文字を使うと文字化けしてしまいます。
以下のように auto_replace_safe_char を true にすることで、自動的に機種依存文字が置換されます。(デフォルトfalse)
@@ -96,12 +96,14 @@ end
この結果、@subject は「(株)テストNo.(1)」のように変換されます。
+
*Ruby-GetText との共存
特に設定は必要ありません。
-*Special Thanks
+*Patch Contributers
knu : http://github.com/knu/
+beyond : http://github.com/beyond/
-Copyright (c) 2009 Kei Kusakari, released under the MIT license
+Copyright (c) 2009 KUSAKARI Kei, released under the MIT license
View
11 lib/actionmailer_ja/base.rb
@@ -42,13 +42,12 @@ def self.included(base) #:nodoc:
def quote_if_necessary_with_ja(text, charset)
text = replace_safe_char(text) if auto_replace_safe_char
if auto_base64_encode
- NKF.nkf('-jW -m0', text).strip
+ NKF.nkf('-jW -m0 --oc=CP50220', text).strip
else
- quote_if_necessary_without_ja(charset, text)
+ quote_if_necessary_without_ja(text, charset)
end
end
-
# Locale があるかどうかで GetText が読み込まれたかを判断する
def gettext?
return defined? Locale
@@ -57,14 +56,16 @@ def gettext?
def create_mail_with_ja #:nodoc:
create_mail_without_ja
(@mail.parts.empty? ? [@mail] : @mail.parts).each { |part|
- if part.content_type == 'text/plain'
+ if part.content_type == 'text/plain' || part.content_type == 'text/html'
if ((!gettext?) || (gettext? && Locale.get.language == "ja"))
if self.mobile && self.mobile.softbank?
part.charset = 'utf-8'
part.body = NKF.nkf('-w', part.body)
+ part.transfer_encoding = '8bit'
else
part.charset = 'iso-2022-jp'
- part.body = NKF.nkf('-j', part.body)
+ part.body = NKF.nkf('-j --oc=CP50220', part.body)
+ part.transfer_encoding = '7bit'
end
end
end
Please sign in to comment.
Something went wrong with that request. Please try again.