首页 > 代码库 > python3 发邮件 smtplib & email 库
python3 发邮件 smtplib & email 库
嗨 实现了用163发送到qq的功能,遗留了两个问题:
1. 接收者list会报错;
update:因为list[]会传递过去一个真的[]list,改成如下就可以了:
before:
maillist=[‘a@qq.com‘,‘b@qq.com‘] msg[‘To‘]=maillist print (maillist) -->[‘a@qq.com‘, ‘b@qq.com‘] after: maillist = [‘a@qq.com‘,‘b@qq.com‘] msg[‘To‘] = ‘,‘.join(maillist) print(maillist) --> a@qq.com,b@qq.com
2. msg.as_string() 是什么意思?
update:就是把msg转成string了
揍是不想google了啊喂,感觉最近google越来越查不到想要的答案了。
update:还是得继续google下去,继续求问下去啊,另外,官方英文文档看了也看不懂,囧了个囧
贴上部分代码,方便懒人copy:
def sendmail(subject, content): email_host = ‘smtp.163.com‘ # 发送者是163邮箱 email_user = ‘发送者邮箱账号,我用汉字替换掉‘ # 发送者账号 email_pwd = ‘发送者邮箱密码,我用汉字替换掉‘ # 发送者密码 maillist =‘接收者邮箱账号,我用汉字替换掉‘ # 接收者账号,本来想写成[]list的,但是报错,还没解决! me = email_user # 三个参数:第一个为文本内容,第二个 html 设置文本格式,第三个 utf-8 设置编码 msg = MIMEText(content, ‘html‘, ‘utf-8‘) # 邮件内容 msg[‘Subject‘] = subject # 邮件主题 msg[‘From‘] = me # 发送者账号 msg[‘To‘] = maillist # 接收者账号列表(列表没实现) smtp = smtplib.SMTP(email_host) # 如上变量定义的,是163邮箱 smtp.login(email_user, email_pwd) # 发送者的邮箱账号,密码 smtp.sendmail(me, maillist, msg.as_string()) # 参数分别是发送者,接收者,第三个不知道 smtp.quit() # 发送完毕后退出smtp print (‘email send success.‘)sendmail(‘主题‘, ‘内容‘) # 调用发送邮箱的函数
还有第二种方法也实现了,不过我喜欢上面那种,是loveisbug写的,感觉很程序
第二种是从网上找的,作者忘了,真忘了,昨天搜的
import smtplibimport email.mime.multipartimport email.mime.textmsg = email.mime.multipart.MIMEMultipart()msg[‘from‘] = ‘发送者的邮箱账号‘msg[‘to‘] = ‘接收者的邮箱账号‘msg[‘subject‘] = ‘test,这是邮件主题‘content = ‘‘‘‘‘ 你好, 这是一封自动发送的邮件的内容。‘‘‘txt = email.mime.text.MIMEText(content)msg.attach(txt)smtp = smtplibsmtp = smtplib.SMTP()smtp.connect(‘smtp.163.com‘) # 使用的发送者邮箱的那啥来着,postsmtp.login(‘发送者的邮箱账号‘, ‘发送者的邮箱密码‘)smtp.sendmail(‘发送者的邮箱账号‘, ‘接收者的邮箱账号‘, str(msg))smtp.quit()
python3 发邮件 smtplib & email 库
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。