第一种方法:
# -*- coding: utf-8 -*-
import email
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
import smtplib
def sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText):
strFrom = fromAdd
strTo = ', '.join(toAdd)
server = authInfo.get('server')
user = authInfo.get('user')
passwd = authInfo.get('password')
if not (server and user and passwd) :
print 'incomplete login info, exit now'
return
# 设定root信息
msgRoot = MIMEMultipart('related')
msgRoot['Subject'] = subject
msgRoot['From'] = strFrom
msgRoot['To'] = strTo
msgRoot.preamble = 'This is a multi-part message in MIME format.'
# Encapsulate the plain and HTML versions of the message body in an
# 'alternative' part, so message agents can decide which they want to display.
msgAlternative = MIMEMultipart('alternative')
msgRoot.attach(msgAlternative)
#设定纯文本信息
# msgText = MIMEText(plainText, 'plain', 'utf-8')
# msgAlternative.attach(msgText)
#设定HTML信息
msgText = MIMEText(htmlText, 'html', 'utf-8')
msgAlternative.attach(msgText)
#设定内置图片信息
# fp = open('test.jpg', 'rb')
# msgImage = MIMEImage(fp.read())
# fp.close()
# msgImage.add_header('Content-ID', '<image1>')
# msgRoot.attach(msgImage)
#发送邮件
smtp = smtplib.SMTP()
#设定调试级别,依情况而定
smtp.set_debuglevel(1)
smtp.connect(server)
smtp.login(user, passwd)
smtp.sendmail(strFrom, strTo, msgRoot.as_string())
# smtp.sendmail(strFrom, strTo, msgRoot.as_string())
smtp.quit()
return
if __name__ == '__main__' :
authInfo = {}
authInfo['server'] = 'smtp.***.cn'
authInfo['user'] = '***@***.cn'
authInfo['password'] = '***'
fromAdd = '***@***.cn'
toAdd = ['***@163.com', '***@gamil.com']
subject = 'title'
plainText = '这里是普通文本'
htmlText = '<B>HTML文本</B>'
sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText)
第二种方法:
#coding=utf-8
import smtplib,email,sys
from email.Message import Message
smtpserver='smtp.***.cn'
smtpuser='***@***.cn'
smtppass='***'
smtpport='25'
def connect():
"connect to smtp server and return a smtplib.SMTP instance object"
server=smtplib.SMTP(smtpserver,smtpport)
server.ehlo()
server.login(smtpuser,smtppass)
return server
def sendmessage(server,to,subj,content):
"using server send a email"
msg = Message()
msg['Mime-Version']='1.0'
msg['From'] = smtpuser
msg['To'] = to
msg['Subject'] = subj
msg['Date'] = email.Utils.formatdate() # curr datetime, rfc2822
msg.set_payload(content)
try:
failed = server.sendmail(smtpuser,to,str(msg)) # may also raise exc
except Exception ,ex:
print Exception,ex
print 'Error - send failed'
else:
print "send success!"
if __name__=="__main__":
#frm=raw_input('From? ').strip()
# to=raw_input('To? ').strip()
# subj=raw_input('Subj? ').strip()
to='***@***.com'
subj='title1111'
print 'Type message text, end with line="."'
text = 'content'
# while True:
# line = sys.stdin.readline()
# if line == '. ': break
# text += line
server=connect()
sendmessage(server,to,subj,text)
分享到:
相关推荐
Python发送email的三种方式,分别为使用登录邮件服务器、使用smtp服务、调用sendmail命令来发送三种方法 Python发送email比较简单,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以...
使用Python编写的一个使用SMPT协议发送Email邮件的案例,适合消息监听的人群,可以实时得到消息响应
python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现。 先把几个最...
本文以实例形式展示了Python发送Email功能的实现方法,有不错的实用价值的技巧,且功能较为完善。具体实现方法如下: 主要功能代码如下: #/usr/bin/env python # -*- encoding=utf-8 -*- import base64 import ...
本篇将深入讲解如何利用Python的requests库发送钉钉消息以及如何使用email和smtplib库发送邮件,特别是与163邮箱服务的集成。 首先,我们来探讨如何使用requests库发送钉钉消息。钉钉提供了Webhook接口,通过...
本篇文章将深入探讨如何基于`python3email`封装一个易用的邮件库,并结合其他相关模块,如`smtplib`和`imaplib`,实现邮件的发送和接收。 首先,让我们了解`python3email`模块。这个模块提供了一组类和函数,用于...
subject = 'Python发送的报表' body = '这是使用Python自动发送的报表邮件。' msg = MIMEMultipart() msg['From'] = sender msg['To'] = receiver msg['Subject'] = subject ``` 若邮件内容包含纯文本和HTML两种...
python写的发送email的例子,其中主要以python做为文字解析,发送email是使用了mutt. 我使用的是mutt+msmtp+getmail+procmail。
4. **邮件发送函数**:一个单独的函数(如`send_email.py`中的`send_email()`),负责构建邮件对象、连接SMTP服务器并发送邮件。这个函数应能处理异常,如网络问题或验证失败。 5. **进程管理**:在主程序中,我们...
python发送qq邮箱的代码,这里用到了Python的两个包来发送邮件: smtplib 和 email 。
半天时间写了个python发送邮件的脚本 作者: jeffery ( email:dungeonsnd@126.com, msn:dungeonsnd@hotmail.com, csdn blog:http://blog.csdn.net/dungeonsnd) 时间: 2011-06-19 地点: SH --------------------------...
当涉及到电子邮件收发时,Python提供了各种库,如smtplib、email和imaplib,但结合Gmail API,我们可以实现更高级的功能,比如批量发送自定义邮件。本教程将深入探讨如何使用Gmail API和Python来发送多个自定义电子...
本文档主要介绍了两种使用Python发送邮件的方法,涉及到了smtplib和email模块。 首先,smtplib是Python的标准库,它提供了一种与SMTP(简单邮件传输协议)服务器进行交互的方法。在发送邮件时,你需要先导入smtplib...
在"python_email.rar"这个压缩包中,我们找到了一个名为"email3.py"的文件,它可能是一个封装了使用Python发送邮件功能的脚本。这个脚本允许用户通过SMTP(Simple Mail Transfer Protocol)服务发送包含HTML内容、...
总之,Python的`smtplib`和`email`模块提供了强大的邮件发送功能,不仅可以发送纯文本邮件,还可以轻松地添加附件和图片,满足各种复杂的邮件发送需求。通过理解这些基础知识,你可以轻松地构建自己的邮件自动化工具...
Python 邮件发送测试运维报警必备笔记 本笔记主要介绍了使用 Python 实现邮件发送测试运维报警的相关知识点,涵盖了 SMTP 介绍、QQ 环境设置、MIME 操作、发送各种文档和图片等内容。 1. SMTP 介绍 SMTP(Simple ...
本文实例为大家分享了python自动发送报警监控邮件 的具体代码,供大家参考,具体内容如下 因为有一些日常任务需要每日检查日否执行正确,所以需要...python send_email.py xxxxxxx@qq.com,xxxxxx@qq.com test数据 /hom
使用python发送邮件(单人/多人): 需要注意的点如下: 1、需要下载的python库有: import smtplib from email.mime.text import MIMEText from email.header import Header 2、整理一下简单的编程思路: a、首先...