Python 发邮件服务

来源:互联网 发布:mac访客模式怎么关闭 编辑:程序博客网 时间:2024/06/05 23:08

最近要监控下写的某些脚本,因为短信通知一般都不是免费的,所以还是发邮件比较简单,并且找到一种变相收到短信的方法。
163 绑定邮箱后可以开通手机号码邮箱,然后在设置里开通免费短信通知服务,这样当监控邮件发送到邮箱时,手机就会收到短信了。哈哈。。。。

因为邮件服务是一个公用服务,为方便调用。可以把这个邮件模块放在PYTHONPATH下:

python 定位模块的机制:当你导入一个模块,Python解析器对模块位置的搜索顺序是:1. 当前目录2. 如果不在当前目录,Python 则搜索在 shell 变量 PYTHONPATH 下的每个目录。3. 如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。模块搜索路径存储在system模块的 sys.path   变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。

把写的notify.py放到 python 搜索路径下,就可以直接import 调用了。
notify.py 代码如下:

#!/usr/bin/python# coding=utf-8import smtplibimport sysimport email from email.mime.text import MIMEText#receiver_address 收件人地址#content 要发送的邮件内容def sendmail(receiver_address,content):    host = 'smtp.163.com'  # 设置发件服务器地址    port = 25  # 设置发件服务器端口号。注意,这里有SSL和非SSL两种形式    sender = '***@163.com'  # 设置发件邮箱,一定要自己注册的邮箱    pwd = '******'  # 设置发件邮箱的密码,等会登陆会用到    receiver = receiver_address # 设置邮件接收人    body = '<h2>告警!!!</h2><p>'+content+'</p>' # 设置邮件正文,这里是支持HTML的    msg = MIMEText(body,'html',_charset="utf-8") # 设置正文为符合邮件格式的HTML内容 _charset参数可以防止发送中文时乱码    msg['subject'] = '哈哈,你的服务挂了!!!' # 设置邮件标题    msg['from'] = sender  # 设置发送人    msg['to'] = receiver  # 设置接收人    s = smtplib.SMTP(host, port)  # 注意!如果是使用SSL端口,这里就要改为SMTP_SSL    s.login(sender, pwd)  # 登陆邮箱    s.sendmail(sender, receiver, msg.as_string())  # 发送邮件!

http://www.zhidaow.com/post/python-send-email-with-smtplib

0 0
原创粉丝点击