用django rest框架发送一个带有图片的邮件



我正在建立一个网站与django rest框架的后端和前端的反应,我必须使一个表单,当填写发送电子邮件(我熟悉简单的发送电子邮件时,在django表单填写),但我不知道如何使这个工作当用户填写此表单在前端和上传图像。

这里是数据库

models.py

from datetime import datetime
class Refund(models.Model):
name = models.CharField(max_length=200)
email = models.CharField(max_length=100)
subject = models.CharField(max_length=100, default = "Need a Refund")
message = models.TextField(max_length=500)
amount = models.CharField(max_length=10)
image = models.ImageField(upload_to='photos/%Y/%m/%d/', blank = True)
contact_date = models.DateTimeField(default=datetime.now, blank=True)
def __str__(self):
return self.email```
from django.core.mail import EmailMessage
from email.mime.image import MIMEImage
from gettingstarted.settings import EMAIL_HOST_USER
r = Refund.objects.create(name= request.POST['name'],email=request.POST['email'],subject =request.POST['subject'],message =request.POST['message'],amount =request.POST['amount'],image = request.FILES['image'],contact_date = request.POST['contact_date'])
msg = EmailMessage('New review image','this is the image','EMAIL_HOST_USER',[r.email],headers={'Message-ID': 'foo'})
msg.content_subtype = "html"
if image:
mime_image = MIMEImage(r.photo.read(),_subtype=str(r.photo.name).split(".")[-1])
mime_image.add_header('Content-ID', '<image>')
msg.attach(mime_image)
print('mime image',mime_image)
msg.send()

相关内容

最新更新