2010-08-23 2 views
0

보내는 이메일에 횡설수설을 제외하고 모든 주요 전자 메일 클라이언트에 대해 완벽하게 작동이다 핫메일 (및 기타)의 경우, 표시 등 :레일 - 이메일 제목은 핫메일

=?windows-1255?Q?Z33=30_=F9=22=E7=20=F2=E1=E5=F8_=F9=E5=E1=F8=20=E1=F9=E5=E5=E9=20=36=30_=F9=22=E7=20=EC=22=EE=F8=E2=E5=E6=E4=22=2C_=E1=E9=FA_=F7=F4=E4=20=E5=EE=E0=F4=E9=E9=E4_=EE=F9=F4=E7=FA=E9=FA=2C=20=E1=EE=FA=E7=ED=20=F9=E5=F7=20=E4=F4=F9=F4=

Dosn't의 문제가 UTF8 인 경우에 아닙니다. hotmail이 긴 인용 된 제목을 읽을 수없는 것처럼 보입니다. 짧은 제목의 경우에는 ok로 표시되기 때문입니다.

AFAIK 예를 들어 gmail이하는 일은 피사체를 조각으로 나눠서 64 (또는 무언가) 문자를 길게하는 것입니다 ... 하지만 레일 (2.3.8)에서이를 수행하는 방법을 알 수 없습니다. 레일즈는 기본적으로 제목을 인용 부호로 둘러 쌉니다.이를 무시하는 방법을 찾을 수 없으므로 직접 나눌 수 있습니다.

감사합니다.

답변

0

이 나를 위해 일 것입니다 : 응답에 대한

 
module ActionMailer 
    module Quoting 
    def quoted_printable(text, charset) 
     require 'base64' 
     #text.scan_utf8(/.{1,64}/m).map{|text| "=?#{charset}?B?#{Base64.b64encode(text)}?="}.join("\n") 
     "=?#{charset}?B?#{Base64.b64encode(text).gsub(/\n/, '')}?=" 
    end 
    end 
end 

module TMail 
    class SubjectHeaderField < UnstructuredHeader 
    def parse 
     #Do nothing 
    end 
    end 

    class HeaderField 
    FNAME_TO_CLASS = FNAME_TO_CLASS.merge('subject' => SubjectHeaderField) 
    end 
end 
0

당신이 정말로 긴 제목이있는 경우 다음 사용하여 여러 줄에 그것을 분할해야 = 같은 다음?

Subject: =?iso-8859-1?Q?This_is_a_really_long_subject_that_should_need_so?= 
=?iso-8859-1?Q?me_encoding_to_make_sure_that_it_all_fits_correct?= 
=?iso-8859-1?Q?ly_=E7?= 

나는이 말에 'C'를 넣어했다 제목 줄에 애플 메일을 달아달라고 말하면서 사진을 보내야합니다. 내가 그것을 분할하기 전에 얼마나 오래 있어야하는지 정확히 기억할 수 없다. 인코딩 후 78이지만 100 % 확신 할 수는 없다. 64는 당신이보고있는 것이라면 안전 할 것이다.

+0

안녕하세요, 감사합니다,하지만 난이 방법을 알고는, 내가 무엇을 알아낼 수있는 것은 레일에 그 작업을 수행하는 방법입니다 ... – Devenv

관련 문제