本片基于python语言,第一次编写博客请见谅,个别引用汇总文中提出,由于python学的不久,有个别代码不一定很好
这代码可以用python发邮件,也可以用来实现自动化,看你们自己的想象和代码能力
import?smtplib???#引用邮箱模块 from?emil.mine.text?import?MIMETex
上面是引用smtplib模块
def?sqm():#这里是防止不懂授权码的人可以通过下面的网站查看 ????print("QQ邮箱的授权码:https://service.mail.qq测试数据/cgi-bin/help?subtype=1&&no=1001256&&id=28,\n网易邮箱的授权码:https://help.mail.163测试数据/faqDetail.do?code=d7a5dc8471cd0c0e8b4b8f4f8e49998b374173cfe9171305fa1ce630d7f67ac2cda80145a1742516") def?help(): ????input("如果不知道什么授权码可以输入’1‘打开帮助,如果想更换服务器,请输入’2‘")
通过def 来简化代码
emil?=?True?#循环程序 while?emil:#通过while加if实现双邮箱转换 ????????print("这是网易邮箱请注意,’hp‘帮助") ????????start?=?input("输入‘1’打开网易邮箱,提示下面要授权码,如果不知道授权码请输入‘sqm’,要帮助请输入‘hp’,更换qq邮箱请输入‘2’") ????????if?start?==?'1': ????????????zh?=?input?("登入你的账号") ????????????mm?=?input?("输入你的授权码或密码")?? ????????????fg?=?input?("发给谁") ????????????_user?=?zh?? ????????????_pwd?=?mm?? ????????????_to?=?fg?? ????????????_host?=?'smtp.163测试数据' ????????????_port?=?25 ????????????zt?=?input?("请输入想发的主题:") ????????????zw?=?input?("请输入想发的正文") ????????????msg?=?MIMEText?(zt)?? ????????????msg["Subject"]?=?zw?? ????????????msg["From"]?=?_user?? ????????????msg["to"]?=?_to?? ????????????try: ????????????????sm?=?smtplib.SMTP ????????????????s?=?smtplib.SMTP?(_host,?_port)?? ????????????????s.login(_user,?_pwd)?? ????????????????s.sendmail?(_user,?_to,?msg.as_string?())?? ????????????????print?("发送成功") ????????????except?smtplib.SMTPException?as?e:??#如果有错误可以通过这里查找出来 ????????????????print?(f"这里有错误:{e}")
这段代码通过简单的while和if循环来执行,编者能力有限在中间加个for想让它循环发送发现不行,心累
if?start?==?"sqm":#授权码 ????sqm() ????continue
如果输入sqm就会弹出,del就是简化代码用的,用想法的可以在上面hp那加上自己的想法
if?start?==?'2':#更换为qq邮箱 ???print("您已经更换到qq邮箱请注意") ???fwq2?=?"smtp.qq测试数据" ???dk2?=?465 ???zh2?=?input("请输入您的qq邮箱账号") ???sqm2?=?input("请输入您的qq授权码") ???user2?=?zh2 ???pwd2?=?sqm2 ???fs?=?input("发给谁?") ???to2?=?fs ???zw2?=input("请输入正文") ???bt2?=?input("请输入标题") ???massg?=?MIMEText(zw2) ???massg["bt2"]?=?bt2 ???massg["from2"]?=?zh2 ???massg["to2"]?=?to2 ???try: ????????sm2?=?smtplib.SMTP ????????s?=?smtplib.SMTP_SSL(fwq2,dk2) ????????s.login(user2,pwd2) ????????s.sendmail(user2,to2,massg.as_string()) ????????print("发送成功") ???except?smtplib.SMTPException?as?e: ???????print(f"这里有错:{e}")
这个代码和上面的那个差不多,对了网易的邮箱端口是’25‘,而25是不用加ssl的,qq的要加,这里要注意,有想法的小伙伴可以通过导入time等模块来实现自动化
查看更多关于用python来发送邮件(简化版)的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did127505