0
EmailMultiAlternativesを使用して電子メールを作成したいが、私はPOSTデータからbase64のイメージデータを持っている。私は添付ファイルとして電子メールで送信したいと思います。今の添付ファイルとしてbase64イメージデータを追加するには?
I持っている(ビュー):
ctx = { 'username': request.user.username, 'img': request.POST['image'] }
subject, from_email, to = 'Hello', '[email protected]', '[email protected]'
text_content = 'text only'
html_content = render_to_string('visemail.html', ctx)
msg = EmailMultiAlternatives(subject, text_content, from_email, [to])
msg.attach_alternative(html_content, "text/html")
msg.send()
テンプレート:私は、コンテンツ内の画像が表示されない
<img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCgwSExIQEw8QEBD/2wBDAQMDAwQDBAgEBAgQCwkLEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB....
:私はテキストを電子メールで取得
<img src="{{ img }}" />
しかし、 。だから私はこのイメージを添付ファイルとして送るかもしれない。
これを行う方法?
img_data = request.POST['image']
img = MIMEImage(img_data[img_data.find(",")+1:].decode('base64'), 'jpeg')
img.add_header('Content-Id', '<file>')
img.add_header("Content-Disposition", "inline", filename="file.jpg")
msg.attach(img)
、それが私の作品: