2017-11-06 15 views
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) 

、それが私の作品:

答えて

0

[OK]を、私は追加します。

関連する問題