python-爬虫-邮箱发送
# -*- coding: utf-8 -*- #发送信息到邮箱 import email.utils import smtplib from email.mime.text import MIMEText #发送文本 from email.mime.image import MIMEImage #发送图片 from email.mime.multipart import MIMEMultipart from email.header import Header """ POP3/SMTP 设置方法 用户名/帐户: 你的QQ邮箱完整的地址 密码: 生成的授权码 电子邮件地址: 你的QQ邮箱的完整邮件地址 接收邮件服务器: pop.qq.com,使用SSL,端口号995 发送邮件服务器: smtp.qq.com,使用SSL,端口号465或587 """ #smtp.qq.com,使用SSL,端口号465或587 #授权码:lpquuutuiiuncaih email_addr_send = "30xxxxx@qq.com" #发送者邮箱地址 email_addr_recv = "30xxxxx@qq.com" #接收者邮箱地址 email_pass = "lpquuutui" #授权码 #smtp邮箱服务器 smtp_server = 'smtp.qq.com' #发送文本 def send_text(): # MIMEText三个主要参数 # 1. 邮件内容 # 2. MIME子类型,plain表示text类型 # 3. 邮件编码格式,使用"utf-8"避免乱码 msg = MIMEText('恭喜,您在12306抢票成功,请及时支付!', 'plain', 'utf-8') # 邮件内容 # 发件人 # msg['From'] = formataddr([发件人, 发件人邮箱地址]) # msg['From'] = email_addr #发送者的邮箱地址 msg['From'] = email.utils.formataddr(("输入发送者的姓名", email_addr_send)) # 收件人:可以有多个、写成一个列表 # [xxx@qq.com, 111@qq.com] # msg['To'] = email.utils.formataddr(("输入接收者的姓名", email_addr_recv)) msg['To'] = email_addr_recv # 接收者的邮箱地址 # 邮件标题 # msg['Subject'] = "Hehuyi Test" subject = '恭喜您,Python已为您在12306抢票成功,请及时支付! ' msg['Subject'] = Header(subject, 'utf-8') # 实例化stmp对象 # 由于安全问题,通常不直接使用smtplib.SMTP来实例化,第三方邮箱会认为它是不安全的而报错 # 使用加密过的SMTP_SSL来实例化 stmp_object = smtplib.SMTP_SSL(smtp_server) # 链接stmp服务器 # SMTP.connect(host,port):连接远程smtp主机 stmp_object.connect(smtp_server, 465) # 链接服务器 # 登录stmp服务器 # SMTP.login(user, password):远程smtp主机的校验方法 stmp_object.login(email_addr_send, email_pass) # 登录邮箱地址 # 向其他人发送邮箱内容 # SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]):实现邮件的发送功能 # stmp_object.sendmail(发件人、收件人(列表)、邮件内容) stmp_object.sendmail(email_addr_send, email_addr_recv.split(','), msg.as_string()) # 向邮箱发送消息 print('邮件发送成功!') stmp_object.quit() #发送图片 def send_img(): msg = MIMEMultipart() msg['From'] = email.utils.formataddr(('我', email_addr_send)) msg['To'] = email.utils.formataddr(("你", email_addr_recv)) msg['Subject'] = "邮件标题:发送图片" with open('2.png', 'rb') as f: img = f.read() msg_img = MIMEImage(img) msg.attach(msg_img) #连接stmp服务 stmp_svc = smtplib.SMTP_SSL(smtp_server) stmp_svc.connect(smtp_server, 465) stmp_svc.login(email_addr_send, email_pass) stmp_svc.set_debuglevel(True) try: stmp_svc.sendmail(email_addr_send, email_addr_recv, msg=msg.as_string()) except Exception as e: print(e) if __name__ == '__main__': #send_text() send_img()
本文作者:little小新
本文链接:https://www.cnblogs.com/littlecc/p/18244364
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步