Ruby on ActionMailerで作業しています。私がしたことは、Gmailのアカウントをポーリングするバックグラウンドプロセスがあり、私は 'RFC822'プロトコルでメールを取得しているということです。私はこれらのメールを自分のActionMailerクラス内のreceiveメソッドに送ります。ruby on railでは、どのようにコンテンツ転送エンコーディングbase64 Mailオブジェクトをデコードしますか?
ほとんどすべての着信メールを処理できますが、英語のアクセント記号が付いた国際的なメールに遭遇することがあります。これらのメールの本文をSTDOUTに表示すると、デコードが間違っていると思われるため、以下のようなランダムな文字が表示されます...
これは、画面に印刷するときのメールオブジェクトの本文です。
"PGh0bWw+PGhlYWQ+PG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVudD0i
ZW4tdXMiPjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s
OyBjaGFyc2V0PVVURi04Ij48bWV0YSBuYW1lPSJHRU5FUkFUT1IiIGNvbnRlbnQ9Ik1pY3Jvc29m
dCBGcm9udFBhZ2UgNC4wIj48bWV0YSBuYW1lPSJQcm9nSWQiIGNvbnRlbnQ9IkZyb250UGFnZS5F
ZGl0b3IuRG9jdW1lbnQiPjx0aXRsZT5OZXcgUGFnZSAxPC90aXRsZT48L2hlYWQ+PGJvZHk+PHRh
YmxlPjx0cj48dGQ+PHA+PGZvbnQgZmFjZT0iQXJpYWwiIGNvbG9yPSJibGFjayIgc2l6ZT0iMSI+
PGI+Q29udGV1ZG8gZW52aWFkbyBkbyBtZXUgQ2VsdWxhciBWaXZvPC9iPjwvZm9udD48L3A+PC90
ZD48L3RyPjx0YWJsZSBib3JkZXI9MD48dHI+PHRkIGNvbHNwYW49MT48aHIgY29sb3I9IjgxODFE
QiI+PC90ZD48L3RyPjx0cj4KPHRyPjx0ZCBjb2xzcGFuPTEgYWxpZ249IkNlbnRlciI+PGZvbnQg
ZmFjZT0iQXJpYWwiIGNvbG9yPSJibGFjayIgc2l6ZT0iMyI+I3IgZm9jbyBkZSBkZW5ndWUgI24g
YnJhc2lsICNzIHNwICNjIHPDo28gcGF1bG8gI2EgcnVhIG1hcmFuaMOjbyBjb20gcnVhIGFyYWNh
anU8L2ZvbnQ+PC90ZD48L3RyPgo8L3RyPjx0cj4KPHRkIGNvbHNwYW49MT4KPGhyIGNvbG9yPSI4
MTgxREIiPgo8L3RkPgo8L3RyPgo8L3RhYmxlPgo8L3RhYmxlPgo8L2JvZHk+CjwvaHRtbD4="
これらの国際郵便には、7bitではなく、Content-Transfer-Encoding:base64があります。それで私はメールを正しく解読できるようにするために何をする必要がありますか?私はBase64.decode64のようなものを試しましたが、アンパックメソッドが定義されていないと不平を言っています。
私は運がないカップルの時間のためにこれに取り組んできました。誰でも私を助けてくれますか?
あなたはBase64.decode
に提供パラメータが文字列でないように見えます