zoukankan      html  css  js  c++  java
  • python3 发邮件 smtplib & email 库

     嗨 实现了用163发送到qq的功能,遗留了两个问题:

    1. 接收者list会报错;
    update:因为list[]会传递过去一个真的[]list,改成如下就可以了:
    before:
      maillist=['a@qq.com','b@qq.com'] msg['To']=maillist print (maillist) -->['a@qq.com', 'b@qq.com'] after: maillist = ['a@qq.com','b@qq.com'] msg['To'] = ','.join(maillist) print(maillist) --> a@qq.com,b@qq.com

    2. msg.as_string() 是什么意思?
    update:就是把msg转成string了


    揍是不想google了啊喂,感觉最近google越来越查不到想要的答案了。
    update:还是得继续google下去,继续求问下去啊,另外,官方英文文档看了也看不懂,囧了个囧

    贴上部分代码,方便懒人copy:

    def sendmail(subject, content):
        email_host = 'smtp.163.com'     # 发送者是163邮箱
        email_user = '发送者邮箱账号,我用汉字替换掉'  # 发送者账号
        email_pwd = '发送者邮箱密码,我用汉字替换掉'       # 发送者密码
        maillist ='接收者邮箱账号,我用汉字替换掉'    # 接收者账号,本来想写成[]list的,但是报错,还没解决!
        me = email_user
        # 三个参数:第一个为文本内容,第二个 html 设置文本格式,第三个 utf-8 设置编码
        msg = MIMEText(content, 'html', 'utf-8')    # 邮件内容
        msg['Subject'] = subject    # 邮件主题
        msg['From'] = me    # 发送者账号
        msg['To'] = maillist    # 接收者账号列表(列表没实现)
    
        smtp = smtplib.SMTP(email_host) # 如上变量定义的,是163邮箱
        smtp.login(email_user, email_pwd)   # 发送者的邮箱账号,密码
        smtp.sendmail(me, maillist, msg.as_string())    # 参数分别是发送者,接收者,第三个不知道
        smtp.quit() # 发送完毕后退出smtp
        print ('email send success.')
    
    
    sendmail('主题', '内容')    # 调用发送邮箱的函数

    还有第二种方法也实现了,不过我喜欢上面那种,是loveisbug写的,感觉很程序

    第二种是从网上找的,作者忘了,真忘了,昨天搜的

    import smtplib
    import email.mime.multipart
    import email.mime.text
    
    msg = email.mime.multipart.MIMEMultipart()
    msg['from'] = '发送者的邮箱账号'
    msg['to'] = '接收者的邮箱账号'
    msg['subject'] = 'test,这是邮件主题'
    content = '''''
        你好,
                这是一封自动发送的邮件的内容。
    '''
    txt = email.mime.text.MIMEText(content)
    msg.attach(txt)
    
    smtp = smtplib
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com') # 使用的发送者邮箱的那啥来着,post
    smtp.login('发送者的邮箱账号', '发送者的邮箱密码')
    smtp.sendmail('发送者的邮箱账号', '接收者的邮箱账号', str(msg))
    smtp.quit()
  • 相关阅读:
    jQuery 属性操作
    Codeforces Round #679 (Div. 2, based on Technocup 2021 Elimination Round 1) (个人题解)
    (模板)graham扫描法、andrew算法求凸包
    POJ
    Codeforces Round #677 (Div. 3) (A
    第十三场训练赛
    [kuangbin] 专题13 基础计算几何 题解 + 总结
    特殊的数据结构:主席树
    【计算几何03】距离计算
    Java实现 LeetCode 803 打砖块 (DFS)
  • 原文地址:https://www.cnblogs.com/vivivi/p/5952093.html
Copyright © 2011-2022 走看看