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

提示

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

 

 

 

 

posted @ 2018-02-06 11:36  扶苏公子x  阅读(798)  评论(0编辑  收藏  举报