
























对系统定期检查并生成文档和报表是管理员最不喜欢的。
发布这些文档最快速有效的方法就是发送邮件。
收集系统信息、格式化信息不在本文讨论。
目标:通过gmail将信息发送给目标邮箱。
环境: HP-UX 11i v2,Python 2.5.2
通过Gmail发送,Gmail的SMTP地址为:smtp.gmail.com
import smtplib#导入需要的module
def prompt(prompt):#定义一个目标邮箱输入的函数
return raw_input(prompt).strip()
mail_server
= 'smtp.gmail.com'body
= 'This is a new SMTP test mail by SSL.'email_message
= '\n\n\n%s%s%s\n\n%s' % (from_header, to_header, subject_header, body)信息发出。
MIME--多功能Internet 邮件扩充服务。有了它就可以发送带主题、发送人、接收人和附件等等信息的邮件。在python中也有具体的实现方法:
import smtplib,email,os,sys
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email import Encoders
from email.header import Headerdef prompt(prompt):
return raw_input(prompt).strip()
mail_server
= 'smtp.gmail.com'msg
= MIMEMultipart()msg[
'From'] = from_addremail_message
= 'this is sent by MIME Demo'msg.attach(MIMEText(email_message))
#, _subtype='html', _charset='utf8',))s
= smtplib.SMTP(mail_server, mail_server_port)这里创建了MIMEMultipart对象并用它生成需要发送的字符串进行发送,在接受到邮件后会显示对应的发件人、主题等内容。
(2.2节于2010-4-5更新)
本篇使用Python版本2.5.2,和2.6.*在 starttls()函数中有一些不同,2.6.*中starttls()会自动判断并发送ehlo命令,但是2.5.2中不会,因此需要在执行starttls()之前执行
ehlo()函数,否则会报错:
smtplib.SMTPException: SMTP AUTH extension not supported by server
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。