一般最好有个smtp服务器,比如说你在163注册个邮箱,这样可以用smtplib通过这个邮箱来发送。以下是示例:
#-*- coding:utf8 -*-
import smtplib
import email
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.mime.text import MIMEText
mail_host="smtp.163.com"
mail_user="yourusername"
mail_pass="yourpassword"
mail_postfix="mail.163.com"
def sendmail(to_list,sub,con):
"""发送邮件
"""
# translation
me = mail_user+""+mail_user+"@"+mail_postfix+""
msg = MIMEMultipart('related')
msg['Subject'] = email.Header.Header(sub,'utf-8')
msg['From'] = me
msg['To'] = ";".join(to_list)
msg.preamble = 'This is a multi-part message in MIME format.'
msgAlternative = MIMEMultipart('alternative')
msgText = MIMEText(con, 'plain', 'utf-8')
msgAlternative.attach(msgText)
msg.attach(msgAlternative)
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me, to_list, msg.as_string())
s.quit()
except Exception,e:
return False
return True
if __name__ == '__main__':
if sendmail(['test@test.com'],"测试","测试"):
print "Success!"
else:
print "Fail!"
如果要不经过邮件系统直接发,通常会被当作垃圾邮件扔了,所以还是这样吧。
你说的应该是这个Enthought Canopy
这是Python做科学计算的一个版本,里面包含有450 个 Python包(以后应该还会增加),还有交互式分析环境,包的管理和更新也很方便。
可以使用含有.edu的邮箱申请注册登录,免费用一些功能。
主界面
代码编写界面
Python包的管理升级界面
下载地址:(我下载了一晚上才好,有点慢)
你好。获得电子邮箱的用户名。首先你要下载一个电子邮箱。你可以下载邮箱大师。邮箱大师下载后可以使用拼音字母注册。也可以使用拼音加阿拉伯数字注册。注册完成后,邮箱就可以接收和发送电子邮件了。也可以使用邮箱的账号注册应用软件了。注册的号码就是你的邮箱账号。也是你的邮箱地址。
自己去搜python smtplib的用法。smtplib库里有专门的函数帮你做这一切,而且不需要浏览器支持的。
1、准备两个邮箱帐号,一个是常用的(接收端),另一个可以注册网易163邮箱或者foxmail邮箱也可(发送端),本次我使用两个QQ邮箱进行演示。
2、在邮箱的设置
3、账户中开启SMTP功能,如下图:
4、点击生成授权码,按照弹出窗口的提示发送短信,发送后单击我已发送按钮。
5、将生成的授权码复制下来以备接下来使用。如下图:
6、我们来编辑代码:
from email.header import Header
from email.mime.text import MIMEText
from email.utils import parseaddr,formataddr
import smtplib
def _format_addr(s):
name,addr = parseaddr(s)
return formataddr((Header(name,'utf-8').encode(),addr))
#发件人地址
from_addr = '10******10@qq.com'
#密码刚才复制的邮箱的授权码
password = 'u*******************g'
#收件人地址
to_addr = '10********28@qq.com'
#邮箱服务器地址
smtp_server = 'smtp.qq.com'
#设置邮件信息
msg = MIMEText('Python爬虫运行异常,异常信息为遇到HTTP 403','plain','utf-8')
msg['From'] = _format_addr('Python爬虫一号%s'%from_addr)
msg['To'] = _format_addr('管理员%s'%to_addr)
msg['Subject'] = Header('一号爬虫运行异常.','utf-8').encode()
#发送邮件
server = smtplib.SMTP_SSL(smtp_server,465)
#打印出和SMTP服务器交互的所有信息
server.set_debuglevel(1)
#登录SMTP服务器
server.login(from_addr,password)
#sendmail():发送邮件,由于可以一次发给多个人,所以传入一个list邮件正文是一个str,as_string()把MIMEText对象变成str。
server.sendmail(from_addr,to_addr,msg.as_string())server.quit()print('邮件发送成功!')
7、登录接收端邮箱,查看是否发送成功,如下图:
8、如果能成功收到邮件的话就说明完成了。
这可能是一种安全机制。由于采用SMTP时,原则上不再需要用户手工输入密码,因为设置SMTP发送方式的原因就是方便使用客户端或自动化程序来发送邮件,因此,仅在首次创建连接时,需要由用户人工输入密码,而这是有可能输入错误的。一旦输入正确,原则上,客户端或你自己所写的代码即会保存这个密码,在以后建立连接时,这一密码就不会“输入”错误了。如果输入错误,只能认定为攻击行为。所以,你必须确保密码的正确性。
如果你非要考虑输错密码的情形,使其能在输错密码断开连接后,自动重新建立新的连接,则可以在输入密码部分使用try来捕获SMTPServerDisconnected异常。当异常被触发时,建立新的连接即可。
qq邮箱可以发163邮箱吗 qq邮箱可以发163邮箱。工具/原料:小米12、MIUI12.3.1、QQ邮箱2.11、首先我们打开手机上的QQ邮箱app,点击左上角的【头像】。2、然后在我的邮箱中点击下...
51发票怎么导出发票 以在联想小新PAD PRO11.5英寸电脑、win10专业版以及360安全浏览器13版本操作为例,在51发票网站导出发票需要先登录进入到该网站。然后在发票查询界面中输入发票代码、...
如何保护公共WiFi安全 公共场合WiFi不要随意链接,更不要使用这样的无线网进行网购等活动。如果确实有必要,最好使用自己手机的3G或者4G网络。手机、电脑等都需要安装安全软件,每天至少进行一次对木马...
58魔方加盟能赚到钱吗 58魔方加盟能赚到钱。58魔方生态合作伙伴计划依托于58魔方的资源、技术、品牌优势,合作伙伴不仅可以快速上手,还能在降低投入的同时获得较高回报,实现轻创业,所以58魔方加盟能赚...
阿里巴巴邮箱是多少 1、阿里巴巴邮箱是jianyi@alibaba-inc.com。可以拨打0571-85027110与其联系,也可以直接拨打0571-85027110服务热线咨询。2、后缀为@ali...
辽宁省北票市的邮政编码是多少? 辽宁省朝阳市北票市的邮编是122100。邮政编码是用阿拉伯数字组成,代表投递邮件的邮局的一种专用代号,也是这个局投递范围内的居民和单位通信的代号。。通过北票邮政编码库查...