当前位置: 首页 > 后端技术 > Python

Python3.7发送邮件(完整版和简易版)

时间:2023-03-26 10:55:37 Python

目标:126/163邮箱importsmtplibimporttimefromemail.headerimportHeaderfromemailimportencodersfromemail.mime.baseimportMIMEBasefromemail.mime.imageimportMIMEImagefromemail.mime.multipartimportMIMEMultipartfromemail.mime.textimportMIMETextfromemail.utilseaddrimport,formataddrdefSendMailSimple(sender,receivers,mail_pass,content,file,image):mail_host="smtp.126.com"#Setserver#message=MIMEText(content,'plain','utf-8')#文本内容plain表示plaintextmessage=MIMEMultipart()message.attach(MIMEText(content))#Mailtextmessage['From']=sendermessage['To']=','.join(receivers)subject='Python自动简单邮件-%s'%time.ctime()message['Subject']=subject#邮件主题text','txt',filename=file)#filename为显示附件名称mime.add_header('Content-Disposition','attachment',filename=file)#获取附件的内容mime.set_payload(f.read())encoders.encode_base64(mime)#添加到邮件中作为附件message.attach(mime)exceptFileNotFoundErrorase:print(e)try:withopen(image,'rb')asf:#添加图像到附件mime=MIMEBase('image','image',filename=image)mime.add_header('Content-Disposition','attachment',filename=image)mime.set_payload(f.read())encoders.encode_base64(mime)message.attach(mime)除了FileNotFoundErrorase:print(e)try:smtpObj=smtplib.SMTP_SSL(mail_host,465)smtpObj.login(sender,mail_pass)smtpObj.sendmail(sender,receivers,str(message))#message.as_string()smtpObj.quit()print("邮件发送成功")除了smtplib.SMTPExceptionase:print(e)defSendMail(sender,receivers,cc_mail,mail_pass,content,file,image):#第三方SMTP服务mail_host="smtp.126.com"#设置服务器#构造一个MIMEMultipart对象来表示邮件本身message=MIMEMultipart()message.attach(MIMEText(content,'html','utf-8'))#文本内容plain代表纯文本,html表示支持html文本message['From']=sendermessage['To']=','.join(receivers)#与真实收件人的邮箱message['Cc']不一样=','.join(cc_mail)subject='Pythonautomaticmail-%s'%time.ctime()message['Subject']=subject#邮件主题#添加文件到附件withopen(file,'rb')asf:#MIMEBase表示附件对象mime=MIMEBase('text','txt',filename=file)#filename是显示附件的名称mime.add_header('Content-Disposition','attachment',filename=file)#获取附件内容mime.set_payload(f.read())encoders.encode_base64(mime)#添加到电子邮件作为附件message.attach(mime)withopen(image,'rb')asf:#添加图像到附件mime=MIMEBase('image','image',filename=image)mime.add_header('Content-Disposition','attachment',filename=image)mime.set_payload(f.read())encoders.encode_base64(mime)message.attach(mime)#在文本中显示图片withopen(image,'rb')asf:#添加图片到文本中msgImage=MIMEImage(f.read())#定义图像IDmsgImage.add_header('Content-ID','')message.attach(msgImage)try:smtpObj=smtplib.SMTP_SSL(mail_host,465)smtpObj.login(sender,mail_pass)smtp对象。sendmail(sender,receivers+cc_mail,str(message))#message.as_string()smtpObj.quit()print("邮件发送成功")除了smtplib.SMTPExceptionase:print(e)if__name__=="__main__":sender='aaaaaa@126.com'#邮件发件人receivers=['aaaaaa@126.com','ZZZZZZ@139.com']#收件人邮件receivers_single=['aaaaaa@126.com']#收件邮箱emailscc_mail=['PPPPPP@qq.com']#cc#密码授权码,无空格mail_pass="xxxxxxxxxx"content_text="邮件正文测试"content='''快点往前看

测试测试

看看这里显示了什么测试超链接

图片显示测试:

'''file='Fx12.txt'image='language2.jpg'#SendMail(sender,receivers,cc_mail,mail_pass,content,file,image)SendMailSimple(sender,receivers_single,mail_pass,content_text,file,image)本地运行结果:D:\development\python_test_proj_2022\venv\Scripts\python.exeD:/development/python_test_proj_2022/venv/pyRun.py[Errno2]Nosuchfileordirectory:'Fx12.txt'[Errno2]Nosuchfileordirectory:'language2.jpg'邮件发送成功

最新推荐
猜你喜欢