나는 Flask에서 메일 링 API를 작업 중이며 초보자입니다. 이미지와 일부 formData를 가져올 수있는 게시물 경로가 정의되어 있고이를 사용하여 smtplib를 사용하여 이메일을 보냅니다. 메시지에 첨부 파일을 추가하는 데 문제가 있습니다. 누구든지이 메시지의 첨부 파일에 이미지를 추가하는 방법을 안내 할 수 있습니까?
밖으로 인쇄 print(request.files.getlist('images'))
나 쇼 [<FileStorage: 'IMG-20200509-WA0001.jpg' ('application/octet-stream')>]
가 이미지를 수신하는 것 터미널 의미로.
내 코드는 다음과 같습니다.
def listMailer(request):
name = request.form.get('name')
phone = request.form.get('phone')
wegmansUsername = request.form.get('wegmans_username')
wegmansPassword = request.form.get('wegmans_password')
description = request.form.get('description')
EMAIL_ADDRESS = xyz
EMAIL_PASSWORD = xyz
msg = EmailMessage()
msg['Subject'] = 'Delivery Schedule'
msg['From'] = EMAIL_ADDRESS
msg['To'] = '[email protected]'
print(request.files.getlist('images'))
msg.set_content('This is a plain text email')
msg.add_alternative("""\
<!DOCTYPE html>
<html>
<body>
<p style="">Name: {}</p>
<p style="">Phone: {}</p>
<p style="">Wegmans Username: {}</p>
<p style="">Wegmans Password: {}</p>
<p style="">Description: {}</p>
</body>
</html>
""".format(name,phone,wegmansUsername,wegmansPassword,description), subtype='html')
with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
smtp.send_message(msg)
여기에 도움이된다면 Flutter 모바일 애플리케이션에서 dio 라이브러리를 사용하여 이미지를 첨부하고 포스트 경로로 보내는 방법입니다.
for(var image in _images) {
_shoppingForm.files.add(MapEntry(
'images',
await MultipartFile.fromFile(image, filename: "${image.split("/").last}")
));
}
나는 flask_mail
도서관을 사용 하고 그것을 달성했습니다. 먼저 이미지를 저장 한 다음 메일에 첨부하고 마지막으로 디렉토리에서 제거했습니다.
for image in request.files.getlist('images'):
image.save(image.filename)
extension = image.filename.split('.')[-1]
with app.open_resource(image.filename) as fp:
msg.attach(image.filename,'image/' +extension, fp.read())
os.remove(image.filename)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다