文档管理中心

Python发送邮件


【前言】

       之前在《Java基础(八):发送邮件》博文中实践了如何利用Java程序去发送邮件,最近自己用Python写了几个小程序;结合自己在工作中经常有在服务器上发邮件的需求,Linux对Python的支持没得说,于是自己通过在网上学习自己实践写了个发送邮件的Python版;

【发送邮件Python版】

       一、废话不多说直接上代码

#!/usr/bin/env python
#coding:utf8
# 脚本采用了SSL的端口发送邮件,可以用于VPC网络环境
# 导入 smtplib 和 MIMEText
import sys,getpass,json,yaml
import smtplib
from email.mime.text import MIMEText

# 发送邮件函数
def send_mail(to_list, sub,context):
        me = mail_user + "<"+mail_user+"@"+mail_postfix+">"
        msg = MIMEText(context,'plain', 'utf-8')
        msg['Subject'] = sub
        msg['From'] = me
        msg['To'] = "".join(to_list)
        try:
                send_smtp = smtplib.SMTP_SSL()
                send_smtp.connect(mail_host,465)
                send_smtp.login(mail_user, mail_pass)
                send_smtp.sendmail(me, to_list, msg.as_string())
                send_smtp.close()
                return True
        except Exception, e:
                print str(e)
                return False

# 设置服务器名称、用户名、密码以及邮件后缀
mail_host = "smtp.163.com"
mail_user = "sender@163.com"
mail_pass = "sender-pass"
mail_postfix="163.com"

mailto_lists = ['receiver@163.com']
sub = u'测试python发邮件'

context= "这是一封测试python发送的邮件"

for mailto_list in mailto_lists:  

    if send_mail(mailto_list,sub,context):
        print "Send mail succed!"
    else:
   	    print "Send mail failed!"

      二、在Linux上执行

            1、查看Linux本身的Python版本(本脚步支持是Python2.x版本,如果是Python3.x需要可以参考《使用python3自带工具2to3.py 转换 python2.x 代码 到python3》)

                 命令:python -V  

            2、执行脚步

                 命令:python xxx.py

      三、在邮箱中进行查看

【小结】

       不断的思考,不断的实践,体会其中无穷的乐趣。

点赞
1
收藏
1
回复
分享
举报
浏览283 发布于2020-05-22 07:38未知归属地
全部评论
最多点赞
最新发布
最早发布
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要发帖子

了解社区公约,与您携手共创和谐专业的开发者社区。