smtp python邮件自动发送

smtplib和email,这俩模块是python自带的

  • SMTP(Simple Mail Transfer Protocol),即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。
    python的smtplib提供了一种很方便的途径发送电子邮件。它对smtp协议进行了简单的封装。

代码实现 QQ邮箱发送

# -*- coding: utf-8 -*-
# @Time    : 2019/3/17 21:03
# @Author  : cd

import smtplib
from email.mime.text import MIMEText
from email.header import Header

# 导入html内容和第三方登录授权码 不是登录密码
from AutoSendEmail.h_test import HT
from AutoSendEmail.config import pwdqq

def send_email():
    sender = 'xxx@qq.com'
    receivers = ['xxx@qq.com', 'xxx@qq.com']  # 接收邮件,可设置为你的QQ邮箱或者其他邮箱

    # 第三方 SMTP 服务
    mail_host = "smtp.qq.com"  # 设置服务器
    mail_user = "383108675@qq.com"  # 用户名
    # smtp 授权口令
    mail_pass = pwdqq  # 口令


    message = MIMEText(HT, 'html')
    message['From'] = sender
    message['To'] = '1204690031@qq.com'

    subject = 'Python SMTP 邮件测试'
    message['Subject'] = '自动脚本发送...'

    try:
        smtpObj = smtplib.SMTP_SSL(host=mail_host, port=465)
        smtpObj.connect(mail_host, 465)  # 25 为 SMTP 端口号
        # smtpObj.starttls()
        # smtpObj.debuglevel(1)
        smtpObj.login(mail_user, mail_pass)
        smtpObj.sendmail(sender, receivers, message.as_string())
        smtpObj.quit()
        print("邮件发送成功")
    except Exception as e:
        print(e)
        print("Error: 无法发送邮件")

if __name__ == '__main__':
    send_email()
QQ邮箱设置SMTP服务器,生成授权口令

在这里插入图片描述

发送成功实例

在这里插入图片描述

代码实现 163邮箱自动发送

# -*- coding: utf-8 -*-
# @Time    : 2019/3/19 20:34
# @Author  : cd

import smtplib
# 引入smtplib和MIMEText
from email.mime.text import MIMEText
from AutoSendEmail.config import pwd163

def sentemail():
    host = 'smtp.163.com'
    # 设置发件服务器地址
    port = 465
    # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式,现在一般是SSL方式
    sender = 'chengxxx@163.com'
    # 设置发件邮箱,一定要自己注册的邮箱
    pwd = pwd163
    # 设置发件邮箱的授权码密码,根据163邮箱提示,登录第三方邮件客户端需要授权码
    # 可以多人发送 
    # receiver = '1xxx@163.com,xxx@163.com'
    # 设置邮件接收人,可以是QQ邮箱
    receiver = '1xxx@163.com'    
    # 设置邮件正文,这里是支持HTML的
    body = '<h1>python script test</h1><p>cd</p>'    
    # 设置正文为符合邮件格式的HTML内容
    msg = MIMEText(body, 'html')    
    # 设置邮件标题
    msg['subject'] = 'python test'    
    # 设置发送人
    msg['from'] = sender    
    # 设置接收人
    msg['to'] = receiver    
    # 设置抄送人
    msg['Cc'] = 'xxx@163.com'
    try:
    	# 注意!如果是使用SSL端口,这里就要改为SMTP_SSL
        smtp = smtplib.SMTP_SSL(host, port)        
        # HELO向服务器标志用户身份
        smtp.helo(host)
        # 服务器返回结果确认
        smtp.ehlo(host)
        # 登陆邮箱
        smtp.login(sender, pwd)        
        # 发送邮件!
        smtp.sendmail(sender, receiver, msg.as_string())   
        # 多人发送
        # smtp.sendmail(sender, receiver,split(','), msg.as_string())      
        print('Done.send email success')
    except smtplib.SMTPException:
        print('Error.send email fail')

if __name__ == '__main__':
    sentemail()
发送成功

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值