首页 > 编程语言 >python-爬虫-邮箱发送

python-爬虫-邮箱发送

时间:2024-06-12 17:35:28浏览次数:24  
标签:addr python stmp smtp 爬虫 send msg 邮箱 email

# -*- 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 = "[email protected]"  #发送者邮箱地址
email_addr_recv = "[email protected]"  #接收者邮箱地址
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))

    # 收件人:可以有多个、写成一个列表
    # [[email protected], [email protected]]
    # 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()

 

标签:addr,python,stmp,smtp,爬虫,send,msg,邮箱,email
From: https://www.cnblogs.com/littlecc/p/18244364

相关文章

  • python-爬虫-获取浏览器的cookies
    1、封装浏览器对象#-*-coding:utf-8-*-"""封装类将获取浏览器的对象封装成一个类调用方法:1、importGet_Browser2、driver=Get_Browser.Get_Browsers().get_browser()"""fromseleniumimportwebdriverclassGet_Browsers:def__init__(self......
  • 朴素贝叶斯分类器 #数据挖掘 #Python
    朴素贝叶斯分类器是一种基于概率统计的简单但强大的机器学习算法。它假设特征之间是相互独立的(“朴素”),尽管在现实世界中这通常不成立,但在许多情况下这种简化假设仍能提供良好的性能。基本原理:朴素贝叶斯分类器利用贝叶斯定理,计算给定输入特征条件下属于某个类别的概率,并选择......
  • python系列:python fastapi + uvicorn 记录日志的最佳实践,结合nb_log
    pythonfastapi+uvicorn记录日志的最佳实践,结合nb_logpythonfastapi+uvicorn记录日志的最佳实践,结合nb_logpythonfastapi+uvicorn记录日志的最佳实践,结合nb_logpythonfastapi+uvicorn记录日志的最佳实践,要记录对fastapi什么时候请求了什么url和入......
  • Python中用PyTorch机器学习神经网络分类预测银行客户流失模型|附代码数据
    阅读全文:http://tecdat.cn/?p=8522最近我们被客户要求撰写关于神经网络的研究报告,包括一些图形和统计输出。分类问题属于机器学习问题的类别,其中给定一组特征,任务是预测离散值。分类问题的一些常见示例是,预测肿瘤是否为癌症,或者学生是否可能通过考试在本文中,鉴于银行客户的某些......
  • python中实例方法、类方法、静态方法
    实例方法self:代表类的实例类方法cls:代表类这个名称本身静态方法不能传递类的实例self,也不能传递类本身cls点击查看代码classMyClass:"""静态成员变量静态成员变量是被类的所有实例共享的访问方式:通过类名."""my_static_variable=0"......
  • python-爬虫-解决反爬机制-登录淘宝
    #-*-coding:utf-8-*-"""1、先手动登录获取cookie2、获取cookie保存在taobaoCookies.pickle文件中3、使用cookie去请求网页"""importosimportpickleimporttimefromseleniumimportwebdriverfromselenium.webdriver.support.waitimportWebDriverWa......
  • python-爬虫-playwright模块反爬
    fromplaywright.sync_apiimportPlaywright,sync_playwright,expectdefrun(playwright:Playwright)->None:#指定浏览器启动的端口#打开cmd:chrome--remote-debugging-port=9412--user-data-dir="F:\\google"#--remote-debugging-port=指定的端口......
  • 在Python中使用LSTM和PyTorch进行时间序列预测|附代码数据
    全文链接:http://tecdat.cn/?p=8145最近我们被客户要求撰写关于LSTM的研究报告,包括一些图形和统计输出。顾名思义,时间序列数据是一种随时间变化的数据类型。例如,24小时内的温度,一个月内各种产品的价格,一年中特定公司的股票价格诸如长期短期记忆网络(LSTM)之类的高级深度学习模型能......
  • PYTHON学习过程中的一些有用tips.
    开头语大家好,我是小安同学,我是大一开始学习python,面对这一门陌生的语言中间有许多的弯路,希望可以对大家的学习有所帮助。目前Python可以说是非常流行,在目前的编程语言中,Python的抽象程度是最高的,是最接近自然语言的,很容易上手。你可以用它来完成很多任务,比如数据科学、机器学......
  • python-数据分析-Matplotlib-1-进阶图形(气泡图-面积图-雷达图-玫瑰图-3D图)
    气泡图#-*-coding:utf-8-*-#气泡图#气泡图可以用来了解三个变量之间的关系,通过比较气泡位置和大小来分析数据维度之间的相关性。#例如在我们之前绘制的月收入和网购支出的散点图中,我们已经发现了二者的正相关关系,如果我们引入第三个变量网购次数,那么我们就需要使用气泡图......