美文网首页
Python 初学日记2016.03.17 邮件发送

Python 初学日记2016.03.17 邮件发送

作者: Zeck | 来源:发表于2016-03-17 15:30 被阅读0次

    这两天看了下邮件发送这块的文章,写了demo学习简单的邮件发送。
    python脚本地址
    https://github.com/Achilles-Z/python-learn/blob/master/sendMailSMTP.py
    顺带安利下廖大大的教程
    http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001386832745198026a685614e7462fb57dbf733cc9f3ad000

    smtplib库的核心部分

    # 初始化
    smtp = smtplib.SMTP()
    # 连接服务器 参数是smtp服务器地址
    smtp.connect(smtpserver)
    smtp.ehlo()
    smtp.starttls()
    smtp.ehlo()
    # 账号密码登录
    smtp.login(username, password)
    # 发送邮件,第一个参数是发件人,第二个参数是收件人,第三个是邮件正文内容
    smtp.sendmail(msg['From'],receiverlist,msg.as_string())
    # 打完收工:)
    smtp.quit()
    

    email库主要是拼接邮件正文和邮件内容
    可以将邮件拼成html发送,样式和格式会好看很多,但是需要注意收件人的邮箱那边是否支持html,因为有些的厂商是不支持的。

    然后还有发件人的邮箱设置问题,发件人的邮箱需要设置smtp/pop3的设选项。

    --
    记录下这两天踩过的坑
    坑1:浮点运算(可能其他语言也会有)
    例子 x = 1/2 print x
    结果不是0.5 是0!
    我在跑脚本计算一个统计值的时候踩的坑。
    解决方法:
    x = 1/2.0 print x
    特别是在 使用 x == y 这样的运算的时候一定需要注意

    坑2:文件读取的readline()
    例子 line = file.readline() print line
    打印出来的时候好好的,但是如果line的内容是需要split然后最后一个就会带上\n
    被坑的不要不要的
    解决方法:
    line = file.readline().replace('\n','') print line

    相关文章

      网友评论

          本文标题:Python 初学日记2016.03.17 邮件发送

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