많은 게시물을 확인했지만 해결 방법을 찾을 수 없습니다. 사진이 포함 된 이메일을 보낼 수는 있지만 메일에 첨부 된 사진도 포함되어 있으며 사진이 필요합니다. 나는 '관련'유형, '혼합'과 함께 많은 변형을 시도했다. 또한 Python 프로그램 (Jinja2 템플릿이 아닌) 안에 html 코드가 있지만 작동하지 않습니다.Python : 이미지와 첨부 파일이 모두 포함 된 멀티 파트 html 전자 메일이 전송되었습니다.
list_of_images = get_graphs() #list with file names
# here if I put "related" - images are sent ONLY as attachments
mail = MIMEMultipart()
for filename in list_of_images:
fp = open(filename, 'rb')
msg_img = MIMEImage(fp.read())
fp.close()
msg_img.add_header('Content-ID', '<{}>'.format(filename))
msg_img.add_header('Content-Disposition', 'inline', filename=filename)
mail.attach(msg_img)
#Jinja2 for html template
env = Environment(loader=FileSystemLoader('.'))
main = env.get_template('images.tpl')
html = main.render(pictures=list_of_images)
msgHtml = MIMEText(html, 'html')
mail.attach(msgHtml)
mail['Subject'] = "TEST"
mail['From'] = "[email protected]"
mail['To'] = "[email protected]"
s = smtplib.SMTP("localhost")
s.sendmail(mail['From'], "[email protected]", mail.as_string())
s.quit()
신사 템플릿 :
<html>
<body>
{% for image in pictures %}
<img src="cid:{{image}}">
{% endfor %}
</body>
</html>
답 롭 주셔서 감사합니다! – Yuliya
이미지 부분 앞에 html 부분을 이동하면 문제가 해결됩니다. 그러나, "시작"옵션을 사용하는 경우 나를 위해 작동하지 않고 계속해서 이미지와 첨부 파일을 보냈습니다. – Yuliya