現在、メールの情報を取得し、DBへ登録するコードを作成しているのですが、タイトルにあるような”=?ISO-2022-JP?B?”で開始する文字列があり、その文字列を日本語に変換することができず詰まっています。
現在のソースですと、デコードの結果の文字列が文字化け状態になってしまいます。
よろしくお願いいたします。
python
1def get_file(self, mi): 2 download_folder = r"D:\mail_file" 3 att_path = "No File" 4 5 for part in mi.walk(): 6 if part.get_content_maintype() == 'multipart': 7 continue 8 if part.get('Content-Disposition') is None: 9 continue 10 filename = part.get_filename() 11 12 if filename.count("=?ISO-2022-JP?B?") > 0: 13 filename = re.match('=?ISO-2022-JP?B?(.*)?=', filename) 14 filename = base64.b64decode(filename.group(1)).decode() 15 if filename.count("=?iso-2022-jp?B?") > 0: 16 filename = re.match('=?iso-2022-jp?B?(.*)?=', filename) 17 filename = base64.b64decode(filename.group(1)).decode() 18 19 att_path = os.path.join(download_folder, filename) 20 if not os.path.isfile(att_path): 21 fp = open(att_path, 'wb') 22 fp.write(part.get_payload(decode=True)) 23 fp.close 24 return att_path

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。