python发送邮件

####一、在阿里云后台开启smtp服务
这里写图片描述

备注:默认是开启的,但是还是要检查下

####二、python脚本

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr


def email(email_list,content,subject="测试效果"):
    msg = MIMEText(content,'plain','utf-8')
    msg['From'] = formataddr(["杨柳",'yangliu@aliyun.com'])   #发件人信息
    msg['Subject'] = subject

    #SMTP服务区
    server = smtplib.SMTP("smtp.aliyun.com",25)     #阿里云邮件服务器
    server.login('yangliu@aliyun.com','nopassword')  #自己邮箱的登陆信息
    server.sendmail('yangliu@aliyun.com',email_list,msg.as_string())
    server.quit()

email(['1257335579@qq.com'],'测试专用')    #收件人可以为很多,所以用列表展示
#email(['1257335579@qq.com'],'测试专用','发送邮件')

备注:
如果subject为“测试”,阿里云服务器会直接拒绝发送

####三、效果展示
这里写图片描述

扩展

使用python发送带有附件的邮件

#!/usr/bin/env python
#-*- coding:utf-8 -*-

import smtplib
from email.mime.text import MIMEText
from email.utils import formataddr
from email.mime.multipart import MIMEMultipart
from email.header import Header

def email(email_list,content,subject="企业数据"):
    msg = MIMEMultipart()    #创建一个带有附件的实例
    msg['From'] = formataddr(["杨柳", 'yangliu@aliyun.com'])
    msg['Subject'] = Header(subject, 'utf-8')
    # 邮件正文内容
    msg.attach(MIMEText(content,'plain','utf-8'))
	

    # 构造附件1,传送当前目录下的 20180925.xlsx 文件
    att1 = MIMEText(open('20180925.xlsx', 'rb').read(), 'base64', 'utf-8')
    att1["Content-Type"] = 'application/octet-stream'
    # 这里的filename可以任意写,写什么名字,邮件中显示什么名字
    att1["Content-Disposition"] = 'attachment; filename="20180925.xlsx"'
    msg.attach(att1)

    #SMTP服务区
    server = smtplib.SMTP("smtp.aliyun.com",25)     #阿里云邮件服务器
    server.login('yangliu@aliyun.com','nopassword')  #自己邮箱的登陆信息
    server.sendmail('yangliu@aliyun.com',email_list,msg.as_string())
    server.quit()

email(['1257335579@qq.com'],'企业数据')    #收件人可以为很多,所以用列表展示
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值