這個是《python核心編程(第三版)》第三章示例3-4,任務是創建并發送兩種不同型別的電子郵件訊息。運行后無法發送出去,不知道該如何修改。另外一個問題,就是代碼沒有要求輸入發送方的密碼啊,這是為什么呢?百思不得其解。請高手指點!
#!/usr/bin/env python
'email-exammples.py - demo creation of email messages'
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from smtplib import SMTP
SENDER = '發送方郵件@126.com'
RECIPS = '接收方郵件@126.com'
SOME_IMG_FILE = '某張圖片.JPG' # 圖片放到當前檔案夾中
# multipart alternative:text and html
def make_mpa_msg():
email = MIMEMultipart('alternative')
text = MIMEText('Hello World!\r\n', 'plain')
email.attach(text)
html = MIMEText(
'<html><body><h4>Hello World!</h4>'
'</body></html>', 'html')
email.attach(html)
return email
# multipart:images
def make_img_msg(fn):
f = open(fn, 'r')
data = f.read()
f.close()
email = MIMEImage(data, name=fn)
email.add_header('Content-Disposition',
'attachment; filename="%s"' % fn)
return email
def sendMsg(fr, to, msg):
s = SMTP('localhost')
errs = s.sendmail(fr, to, msg)
s.quit()
if __name__ == '__main__':
print('Sending multipart alternative msg..')
msg = make_mpa_msg()
msg['From'] = SENDER
msg['To'] = ', '.join(RECIPS)
msg['Subject'] = 'multipart alternative test'
sendMsg(SENDER, RECIPS, msg.as_string())
print('Sending image msg...')
msg = make_img_msg(SOME_IMG_FILE)
msg['From'] = SENDER
msg['To'] = ', '.join(RECIPS)
msg['Subject'] = 'image file test'
sendMsg(SENDER, RECIPS, msg.as_string())
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/247404.html
