Fromに<メールアドレス>を入れたままbase64に渡すと
部分的に消えたりしてたのでそれを直す努力をしてみた。
def base64(text, charset="iso-2022-jp", convert=true)
text = "" if text.nil?
convert_text = ""
if convert
if charset == "iso-2022-jp"
text_a = []
s_str = m_str = ""
text.split(//).map do |t|
if t.size == 1 # single byte
text_a << {:m => m_str} if m_str.size > 0
m_str = ""
s_str << t
else # multi byte
text_a << {:s => s_str} if s_str.size > 0
s_str = ""
m_str << t
end
end
text_a << {:m => m_str} if m_str.size > 0
text_a << {:s => s_str} if s_str.size > 0
text_a.map do |t|
convert_text << t[:s] if t[:s]
convert_text << "=?#{charset}?B?#{TMail::Base64.encode(NKF.nkf('-j -m0', t[:m]))}?= " if t[:m]
end
end
else
convert_text = "=?#{charset}?B?#{TMail::Base64.encode(text)}?="
end
convert_text
end