postfix python发送邮件脚本配置(不乱码)

简介:

一、环境说明

     我们通常需要发送邮件,用于报警,或邮件验证等需求,本次的环境要求如下:

CentOS 6.x   最小化安装,安装postfix(一般系统安装好自带的邮件系统),如果没有请如下操作:

#yum install postfix -y

python 2.6+   


二、postfix简介

postfix是linux平台邮件系统,默认安装,并且自动开机运行,无需过多的配置,但有一点需要说明,postfix所

在主机绑定了备案域名则默认不会当作垃圾邮件,而所在主机没有绑定备案域名,大多邮件厂商会认为是垃圾邮件.


三、pytho发邮件脚本

#cat send_mail.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import  smtplib
from  email.mime.multipart  import  MIMEMultipart
from  email.mime.text  import  MIMEText
 
SERVER  =  'localhost'
FROM  =  'root@localhost'
TO  =  [ '1549214808@qq.com,' ]     #添加收件人
SUBJECT  =  u 'san Linx福利'
TEXT  =  u """
     linux基础
     链接:http://pan.baidu.com/s/1mhBDhnM
"""
msg  =  MIMEMultipart( 'alternative' )
# 注意包含了非ASCII字符,需要使用unicode
msg[ 'Subject' =  SUBJECT
msg[ 'From' =  FROM
msg[ 'To' =  ', ' .join(TO)
part  =  MIMEText(TEXT,  'plain' 'utf-8' )
msg.attach(part)
server  =  smtplib.SMTP(SERVER)
server.sendmail(FROM, TO, msg.as_string().encode( 'ascii' ))
server.quit()

#python send_mail.py


打开QQ邮箱如图:

wKioL1m5-cCyot7FAADqMJzeUGs666.png-wh_50

如上所述次实验postfix所在主机没有备案域名解析绑定,所以在QQ邮箱中是在垃圾箱中,而我的公司邮件没有收到!网易过滤掉了!

另外以上是针对本地的postfix 默认smtp非SSL发送的,还可通过 对QQ如下的 加密码认证发送邮件

有兴趣的可以试下

1
2
3
4
5
smtp_server  =  "smtp.qq.com"
smtp_port  =  465
server  =  smtplib.SMTP_SSL(smtp_server,smtp_port)
server.login(from_user, "tqnmomfayqpodjdh" )
server.sendmail(from_user,to_list,mail.as_string())

四、带添加附件的脚本


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/python
#coding:utf-8
import  smtplib  #负责登录smtp服务器的
from  email.mime.text  import  MIMEText  #用来定义邮件的
from  email  import  MIMEMultipart  #定义发送邮件的根容器
from  email  import  MIMEBase  #定义附件
from  email  import  Encoders  #对附件进行编码
msg =  """
     linux基础
     链接:http://pan.baidu.com/s/1mhBDhnM
"""
#接收人字符串
to_str  =  """
,
1549214808@qq.com,
"""
###以上邮箱为了隐私写的是假的 
#接收人列表
to_list  =  to_str.replace( "\n" ," ").split(" ,")
from_user  =  "root@localhost" #发送人
title  =  "san 的 Linux福利"  #邮件的标题
#实例化一个邮件根容器
message  =  MIMEMultipart.MIMEMultipart()
#定义文本项
mail  =  MIMEText(msg, "plain" , "utf-8" )
     #发送的内容    #内容的类型    #内容的编码
message.attach(mail)
#附件的类型的变量
mintype,subtype  =  "application" , "octet-stream"
#定义附件的类型
file_message  =  MIMEBase.MIMEBase(mintype,subtype)
#附件添加内容
with  open ( "by.txt" , "rb" ) as f:
     file_message.set_payload(f.read())
#对附件进行编码
Encoders.encode_base64(file_message)
#附件的头部定义
file_message.add_header(
     "Content-Disposition" ,
     "attachment" ,
     filename  =  "by.txt"
)
message.attach(file_message)
message[ "Subject" =  title
message[ "From" =  from_user
message[ "To" =  to_str
#登录smtp服务器    #qq smtp 服务器地:localhost    #smtp 服务器地址端口: 25
smtp_server  =  "localhost"
smtp_port  =  25
#server = smtplib.SMTP_SSL(smtp_server,smtp_port)
server  =  smtplib.SMTP(smtp_server,smtp_port)
#server.login(from_user,"") #如果是smtp ssl 加密的需要用户名密码登录
server.sendmail(from_user,to_list,message.as_string())
     #发送人 #接收人列表  #发送的内容
server.quit()


效果如下图:

wKiom1m6QwGRuD76AADm9IjyJmI429.png-wh_50










本文转自 dyc2005 51CTO博客,原文链接:http://blog.51cto.com/dyc2005/1965179,如需转载请自行联系原作者
目录
相关文章
|
1月前
|
监控 安全 程序员
Python日志模块配置:从print到logging的优雅升级指南
从 `print` 到 `logging` 是 Python 开发的必经之路。`print` 调试简单却难维护,日志混乱、无法分级、缺乏上下文;而 `logging` 支持级别控制、多输出、结构化记录,助力项目可维护性升级。本文详解痛点、优势、迁移方案与最佳实践,助你构建专业日志系统,让程序“有记忆”。
171 0
|
3月前
|
JSON 算法 API
深度分析小红书城API接口,用Python脚本实现
小红书作为以UGC内容为核心的生活方式平台,其非官方API主要通过移动端抓包解析获得,涵盖内容推荐、搜索、笔记详情、用户信息和互动操作等功能。本文分析了其接口体系、认证机制及请求规范,并提供基于Python的调用框架,涉及签名生成、登录态管理与数据解析。需注意非官方接口存在稳定性与合规风险,使用时应遵守平台协议及法律法规。
|
3月前
|
JSON API 数据安全/隐私保护
【干货满满】分享微店API接口到手价,用python脚本实现
微店作为知名社交电商平台,其开放平台提供商品查询、订单管理等API接口。本文介绍如何通过微店API获取商品到手价(含优惠、券等),涵盖认证机制、Python实现及关键说明。
|
3月前
|
JSON API 数据格式
深度分析大麦网API接口,用Python脚本实现
大麦网为国内领先演出票务平台,提供演唱会、话剧、体育赛事等票务服务。本文基于抓包分析其非官方接口,并提供Python调用方案,涵盖演出列表查询、详情获取及城市列表获取。需注意非官方接口存在稳定性风险,使用时应遵守平台规则,控制请求频率,防范封禁与法律风险。适用于个人学习、演出信息监控等场景。
|
2月前
|
JSON 缓存 开发者
淘宝商品详情接口(item_get)企业级全解析:参数配置、签名机制与 Python 代码实战
本文详解淘宝开放平台taobao.item_get接口对接全流程,涵盖参数配置、MD5签名生成、Python企业级代码实现及高频问题排查,提供可落地的实战方案,助你高效稳定获取商品数据。
|
3月前
|
JSON API 开发者
深度分析阿里妈妈API接口,用Python脚本实现
阿里妈妈是阿里巴巴旗下营销平台,提供淘宝联盟、直通车等服务,支持推广位管理、商品查询等API功能。本文详解其API调用方法,重点实现商品推广信息(佣金、优惠券)获取,并提供Python实现方案。
|
3月前
|
JSON API 数据安全/隐私保护
深度分析虾皮城API接口,用Python脚本实现
虾皮开放平台提供丰富的API接口,支持商品管理、订单处理及促销信息查询等功能。本文详解API认证机制与调用方法,基于Python实现商品价格及到手价获取方案,适用于电商数据分析与运营。
|
3月前
|
JSON API 数据安全/隐私保护
【干货满满】分享拼多多API接口到手价,用python脚本实现
拼多多开放平台提供商品价格查询API,通过“pdd.ddk.goods.detail”接口可获取商品基础价、优惠券、拼团价等信息。结合client_id、client_secret及签名机制实现身份认证,支持推广位ID获取专属优惠。本文提供完整Python实现,涵盖签名生成、接口调用与价格解析逻辑,适用于比价工具、导购平台等场景。
|
3月前
|
API 数据安全/隐私保护 开发者
深度分析苏宁API接口,用Python脚本实现
深度分析苏宁API接口,用Python脚本实现
|
3月前
|
前端开发 Shell API
深度分析58同城API接口,用Python脚本实现
58同城为国内知名分类信息平台,涵盖房产、招聘、二手车等多领域。本文基于网页抓包与解析,分享其非官方接口的Python实现方案,分析核心接口特性与反爬应对策略,适用于数据学习与信息聚合。注意:非官方接口存在风险,使用需遵守平台规则。

推荐镜像

更多