我使用Python在sendEmail上做了一些工作我得到了这段代码
import smtplib
def SendAnEmail( usr, psw, fromaddr, toaddr):
# SMTP server
server=smtplib.SMTP('smtp.gmail.com:587')
server.starttls()
server.login(usr,psw)
# Send
msg="text message ....... "
server.sendmail(fromaddr, toaddr, msg)
server.quit()
if __name__ == '__main__':
# Fill info...
usr='example@sender.ex'
psw='password'
fromaddr= usr
toaddr='example@recevier.ex'
SendAnEmail( usr, psw, fromaddr, toaddr)
如果我需要添加图片(附件图片)怎么办?有人有想法吗?
答案 0 :(得分:26)
import os
import smtplib
from email.mime.text import MIMEText
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
def SendMail(ImgFileName):
img_data = open(ImgFileName, 'rb').read()
msg = MIMEMultipart()
msg['Subject'] = 'subject'
msg['From'] = 'e@mail.cc'
msg['To'] = 'e@mail.cc'
text = MIMEText("test")
msg.attach(text)
image = MIMEImage(img_data, name=os.path.basename(ImgFileName))
msg.attach(image)
s = smtplib.SMTP(Server, Port)
s.ehlo()
s.starttls()
s.ehlo()
s.login(UserName, UserPassword)
s.sendmail(From, To, msg.as_string())
s.quit()
答案 1 :(得分:0)
阅读文档。 smtpblib文档的最后几行是:
注意一般情况下,您需要使用电子邮件包的功能来构建电子邮件,然后您可以将其转换为字符串并通过sendmail()发送;看电子邮件:例子。
并指出:https://docs.python.org/3/library/email.examples.html
有一个确切的例子。