使用gmail发送邮件的Python脚本
来源:互联网 发布:win7怎么更改公用网络 编辑:程序博客网 时间:2024/04/29 14:16
转自:http://blog.csdn.net/huzhenwei/article/details/7524989
import smtplibfrom email.Message import Messagefrom time import sleepsmtpserver = 'smtp.gmail.com'username = 'lorerrr@gmail.com'password = '******'from_addr = 'lorerrr@gmail.com'to_addr = 'lorerrr@gmail.com'cc_addr = 'huzhenwei@csdn.net'message = Message()message['Subject'] = 'Mail Subject' #邮件标题message['From'] = from_addr message['To'] = to_addr message['Cc'] = cc_addr message.set_payload('mail content') #邮件正文msg = message.as_string()sm = smtplib.SMTP(smtpserver, port=587, timeout=20)sm.set_debuglevel(1) #开启debug模式sm.ehlo()sm.starttls() #使用安全连接sm.ehlo()sm.login(username, password)sm.sendmail(from_addr, to_addr, msg)sleep(5) #避免邮件没有发送完成就调用了quit()sm.quit()
转自:http://www.cnblogs.com/ddr888/archive/2010/03/25/1696094.html
HP-UX下使用python发送邮件
1 用脚本语言发送邮件是系统管理员必备技能
对系统定期检查并生成文档和报表是管理员最不喜欢的。
发布这些文档最快速有效的方法就是发送邮件。
收集系统信息、格式化信息不在本文讨论。
目标:通过gmail将信息发送给目标邮箱。
环境: HP-UX 11i v2,Python 2.5.2
2 实现
2.1 简单发送邮件
通过Gmail发送,Gmail的SMTP地址为:smtp.gmail.com
import smtplib#导入需要的module
def prompt(prompt):#定义一个目标邮箱输入的函数
return raw_input(prompt).strip()
mail_server = 'smtp.gmail.com'
mail_server_port = 25
from_addr = 'someone@gmail.com'
to_addr = prompt("To: ").split()#提示输入目标邮箱
from_header = 'From: %s\r\n' % from_addr
to_header = 'To: %s\r\n\r\n' % to_addr
subject_header = 'Subject: nothing interesting'
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)
#print email_message
s = smtplib.SMTP(mail_server, mail_server_port)#创建SMTP对象
#s.set_debuglevel(1)
s.ehlo()#向Gamil发送SMTP 'ehlo' 命令
s.starttls()#启动TLS模式,Gmail要求
s.login("someone@gmail.com", "123456789")#用户验证
s.sendmail(from_addr, to_addr, email_message)#发送邮件
s.quit()#退出
def prompt(prompt):#定义一个目标邮箱输入的函数
return raw_input(prompt).strip()
mail_server = 'smtp.gmail.com'
mail_server_port = 25
from_addr = 'someone@gmail.com'
to_addr = prompt("To: ").split()#提示输入目标邮箱
from_header = 'From: %s\r\n' % from_addr
to_header = 'To: %s\r\n\r\n' % to_addr
subject_header = 'Subject: nothing interesting'
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)
#print email_message
s = smtplib.SMTP(mail_server, mail_server_port)#创建SMTP对象
#s.set_debuglevel(1)
s.ehlo()#向Gamil发送SMTP 'ehlo' 命令
s.starttls()#启动TLS模式,Gmail要求
s.login("someone@gmail.com", "123456789")#用户验证
s.sendmail(from_addr, to_addr, email_message)#发送邮件
s.quit()#退出
信息发出。
2.2 MIME邮件发送
MIME--多功能Internet 邮件扩充服务。有了它就可以发送带主题、发送人、接收人和附件等等信息的邮件。在python中也有具体的实现方法:
import smtplib,email,os,sys
from email.MIMEBase import MIMEBasefrom email.MIMEText import MIMEText
from email.MIMEMultipart import MIMEMultipart
from email import Encoders
from email.header import Header
def prompt(prompt):
return raw_input(prompt).strip()
mail_server = 'smtp.gmail.com'
mail_server_port = 587
from_addr = 'yourmail@gmail.com'
to_addr = prompt("To: ").split()
attachment = 'demo1.py'
msg = MIMEMultipart()
msg['From'] = from_addr
msg['To'] = str(to_addr)
msg['Subject'] = Header('===MIME Email Demo===', 'utf8')
msg['Reply-To'] = from_addr
print msg.as_string()
email_message = 'this is sent by MIME Demo'
msg.attach(MIMEText(email_message))#, _subtype='html', _charset='utf8',))
fp = open(attachment, 'rb')
part = MIMEBase('application', "octet-stream")
part.set_payload(fp.read())
fp.close()
Encoders.encode_base64(part)
part.add_header('Content-Disposition', 'attachment; filename="%s"' % attachment)
msg.attach(part)
s = smtplib.SMTP(mail_server, mail_server_port)
#s.set_debuglevel(1)
s.ehlo()
s.starttls()
s.login("yourmail@gmail.com", "yourpassword")
s.sendmail(from_addr, to_addr, msg.as_string())
s.quit()
这里创建了MIMEMultipart对象并用它生成需要发送的字符串进行发送,在接受到邮件后会显示对应的发件人、主题等内容。
(2.2节于2010-4-5更新)
3 结束
本篇使用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
0 0
- 使用gmail发送邮件的Python脚本
- 使用gmail发送邮件的Python脚本
- Python 使用Gmail发送邮件
- PHPMailer IIS下的PHP脚本使用GMAIL发送邮件
- python - 如何通过GMail发送邮件:smtplib的使用
- python - 如何通过GMail发送邮件:smtplib的使用
- 如何使用GMAIL的SMTP发送邮件
- 使用python脚本发送邮件
- 发送邮件的python脚本
- 如何使用GMail发送邮件
- C#使用Gmail发送邮件
- Yii 使用gmail发送邮件
- C#使用gmail发送邮件
- cruisecontrol使用gmail邮箱发送邮件错误的解决
- python邮件发送脚本
- python脚本发送邮件
- Python 发送邮件脚本
- python脚本发送邮件
- JavaScript反射
- 判断整数序列是不是二元查找树的后序遍历结果
- Java选择排序算法
- HDOJ 2054 A == B ?
- 图片风格化
- 使用gmail发送邮件的Python脚本
- VS2010中NET4项目中使用LOG4NET办法
- C++Builder调用VC生成的DLL方法
- Oracle内部原理---undo篇
- 编程回忆之数据库回忆(oracle配置用户权限)
- Android 不同版本源码及ROM获取
- 翻页
- 特权级0的代码到特权级3代码的转移之IRET指令
- 2014年最新珍藏版XP系统GHO镜像文件下载,史上驱动最齐全XP终结版(定时更新)