Python邮件发送脚本(Linux,Windows)通用

Posted 夏天一去,又是冬季

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python邮件发送脚本(Linux,Windows)通用相关的知识,希望对你有一定的参考价值。

脚本

#!/usr/bin/python
#-*- coding:utf-8 -*-
#Python Mail for chenglee
#if fileformat=dos, update fileformat=unix
#code:set fileformat=unix
#check:set ff ?
import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr

my_sender=\'11328@qq.com\'    # 发件人邮箱账号
my_pass = \'xxxxxxxxxxx\'              # 发件人邮箱密码(当时申请smtp给的口令)
my_user=\'142783@qq.com\'      # 收件人邮箱账号,我这边发送给自己
def mail():
    ret=True
    try:
        msg=MIMEText(\'11填写邮件内容\',\'plain\',\'utf-8\')
        msg[\'From\']=formataddr(["发件人昵称",my_sender])  # 括号里的对应发件人邮箱昵称、发件人邮箱账号
        msg[\'To\']=formataddr(["收件人昵称",my_user])              # 括号里的对应收件人邮箱昵称、收件人邮箱账号
        msg[\'Subject\']="11邮件主题-测试"                # 邮件的主题,也可以说是标题

        server=smtplib.SMTP_SSL("smtp.qq.com", 465)  # 发件人邮箱中的SMTP服务器,端口是465
        server.login(my_sender, my_pass)  # 括号中对应的是发件人邮箱账号、邮箱密码
        server.sendmail(my_sender,[my_user,],msg.as_string())  # 括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件
        server.quit()# 关闭连接
    except Exception:# 如果 try 中的语句没有执行,则会执行下面的 ret=False
        ret=False
    return ret

ret=mail()
if ret:
    print("邮件发送成功")
else:
    print("邮件发送失败")  

在windows下用的时候,前两行可去可留!

测试结果

windows

linux

提示

 作为发送人, 需要开启两项服务。

 

 

 

 

以上是关于Python邮件发送脚本(Linux,Windows)通用的主要内容,如果未能解决你的问题,请参考以下文章

python 发送邮件脚本

postfix python发送邮件脚本配置

Python发送邮件

Python发送邮件(常见四种邮件内容)

Linux下shell脚本PING命令只要延迟高于100ms就发送个邮件

Python通过smtp服务发送电子邮件给指定用户(适用于Zabbix邮件报警)