我試圖用smpt來發送電子郵件與attachmant.However,但我的文件是「doc」或「txt」類型,我想發送附件中的「pdf」類型。是否有未知的參數可以做到這一點?python + smtp如何用附件發送電子郵件?
import smtplib
import base64
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
import os
server=smtplib.SMTP()
server.connect("smtp..com")
server.login("[email protected]","YYYYYY")
msg=MIMEMultipart('')
msg['From']="[email protected]"
msg['Subject']="opp"
with open("D:\log1.doc", 'rb') as f:
content = base64.standard_b64encode(f.read()).decode()
part = MIMEApplication(content)
newfilename = 'resume.pdf'
part.add_header('Content-Disposition', 'attachment', filename=newfilename)
msg.attach(part)
msg['To']="[email protected]"
server.send_message(msg)
使用代碼,錯誤happended!附件文件無法打開!我怎麼解決這個問題? 感謝您的幫助。
你混合了三件事情:SMTP是您正在使用的MIME類型發送*完成*電子郵件協議附件的內容類型,如電子郵件和聲明文件具有的實際內容類型。如果你想發送一個文檔文件爲pdf,你必須先轉換它。 –