美文网首页
腾讯企业邮箱smtp发邮件

腾讯企业邮箱smtp发邮件

作者: linux_python | 来源:发表于2020-12-08 10:43 被阅读0次
    image.png

    MGXJMWJDEMNVUGQN

    腾讯企业邮箱发邮件通知(python脚本):

    可读文件的版本

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import smtplib
    from email.mime.text import MIMEText
    from email.utils import formataddr
    
    # 发件人邮箱账号
    my_sender='guozh@paraview.cn'
    # user登录邮箱的用户名,password登录邮箱的密码(授权码,即客户端密码,非网页版登录密码),但用腾讯邮箱的登录密码也能登录成功  
    my_pass = 'Hao124'
    # 收件人邮箱账号            
    my_user='xiecq@paraview.cn'
    def mail(fileDir_asString):
        with open(fileDir_asString, "r+") as f:
            content = f.read()
        ret=True
        try:
            # 邮件内容
            msg=MIMEText(content,'plain','utf-8')
            # 括号里的对应发件人邮箱昵称、发件人邮箱账号
            msg['From']=formataddr(["guozh@paraview.cn",my_sender])
            # 括号里的对应收件人邮箱昵称、收件人邮箱账号
            msg['To']=formataddr(["xiecq@paraview.cn",my_user])
            # 邮件的主题           
            msg['Subject']="发版流水线测试"
    
            # SMTP服务器,腾讯企业邮箱端口是465,腾讯邮箱支持SSL(不强制), 不支持TLS
            # qq邮箱smtp服务器地址:smtp.qq.com,端口号:456
            # 163邮箱smtp服务器地址:smtp.163.com,端口号:25
            server=smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)
            # 登录服务器,括号中对应的是发件人邮箱账号、邮箱密码
            server.login(my_sender, my_pass)
            # 发送邮件,括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
            server.sendmail(my_sender,[my_user,],msg.as_string())
            # 关闭连接
            server.quit()
            # 如果 try 中的语句没有执行,则会执行下面的 ret=False 
        except Exception:
            ret=False
        return ret
    
    ret=mail('/data/backup/scripts/mail.txt')
    if ret:
        print("邮件发送成功")
    else:
        print("邮件发送失败")
    
    

    原版

    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
    
    import smtplib
    from email.mime.text import MIMEText
    from email.utils import formataddr
    
    # 发件人邮箱账号
    my_sender='guozh@paraview.cn'
    # user登录邮箱的用户名,password登录邮箱的密码(授权码,即客户端密码,非网页版登录密码),但用腾讯邮箱的登录密码也能登录成功  
    my_pass = 'Hao124'
    # 收件人邮箱账号            
    my_user='xiecq@paraview.cn'
    def mail():
        ret=True
        try:
            # 邮件内容
            msg=MIMEText('..........。 ','plain','utf-8')
            # 括号里的对应发件人邮箱昵称、发件人邮箱账号
            msg['From']=formataddr(["guozh@paraview.cn",my_sender])
            # 括号里的对应收件人邮箱昵称、收件人邮箱账号
            msg['To']=formataddr(["xiecq@paraview.cn",my_user])
            # 邮件的主题           
            msg['Subject']="使用腾讯邮箱发送邮件测试"
    
            # SMTP服务器,腾讯企业邮箱端口是465,腾讯邮箱支持SSL(不强制), 不支持TLS
            # qq邮箱smtp服务器地址:smtp.qq.com,端口号:456
            # 163邮箱smtp服务器地址:smtp.163.com,端口号:25
            server=smtplib.SMTP_SSL("smtp.exmail.qq.com", 465)
            # 登录服务器,括号中对应的是发件人邮箱账号、邮箱密码
            server.login(my_sender, my_pass)
            # 发送邮件,括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
            server.sendmail(my_sender,[my_user,],msg.as_string())
            # 关闭连接
            server.quit()
            # 如果 try 中的语句没有执行,则会执行下面的 ret=False 
        except Exception:
            ret=False
        return ret
    
    ret=mail()
    if ret:
        print("邮件发送成功")
    else:
        print("邮件发送失败")
    
    

    未测试版本

    #-*- coding: UTF-8 -*-  
    from email.header import Header
    from email.mime.text import MIMEText
    from email.utils import formataddr
    import smtplib
    
    # 用户信息
    from_addr = 'guozh@paraview.cn'
    password = 'H3Sv73Gq4BV7XDqG' # # 腾讯QQ邮箱或腾讯企业邮箱必须使用授权码进行第三方登陆
    to_addr = ''
    smtp_server = 'smtp.exmail.qq.com' # 腾讯服务器地址
    
    # 内容初始化,定义内容格式(普通文本,html)
    msg = MIMEText('我要发邮件......', 'plain', 'utf-8')
    
    # 发件人收件人信息格式化 ,可防空
    # 固定用法不必纠结,我使用lambda表达式进行简单封装方便调用
    lam_format_addr = lambda name, addr: formataddr((Header(name, 'utf-8').encode(), addr))
    # 传入昵称和邮件地址
    msg['From'] = lam_format_addr('发件人昵称', from_addr) # 腾讯邮箱可略
    msg['To'] = lam_format_addr('收件人昵称(服务商会自动替换成用户名)', to_addr) # 腾讯邮箱可略
    
    # 邮件标题
    msg['Subject'] = Header('邮件的标题......', 'utf-8').encode() # 腾讯邮箱略过会导致邮件被屏蔽
    
    # 服务端配置,账密登陆
    server = smtplib.SMTP(smtp_server, 25)
    
    # 腾讯邮箱支持SSL(不强制), 不支持TLS。
    # server = smtplib.SMTP_SSL(smtp_server, 465) # 按需开启
    # 调试模式,打印日志
    # server.set_debuglevel(1) # 按需开启
    
    # 登陆服务器
    server.login(from_addr, password)
    
    # 发送邮件及退出
    server.sendmail(from_addr, [to_addr], msg.as_string()) #发送地址需与登陆的邮箱一致
    server.quit()
    

    相关文章

      网友评论

          本文标题:腾讯企业邮箱smtp发邮件

          本文链接:https://www.haomeiwen.com/subject/cupswktx.html