1. python 语言发送邮件提示错误.找了资料也没有解决.希望帮帮忙提示一下
在Fedora11默认安装的Python2.6上出现同样的问题。
使用了StartTTLS扩展登录126的SMTP服务器,但是服务器不支持。应该有另外的方法登录。
用我自己的126帐号实验成功,要加一句:
# 在sendmail前需要先登录、验证发送者身份的~_~
server.login('aaa', 'aaa de mi ma')
fasongfanhui=smtpixiang.sendmail(youxiang,(youxiang,),youjianxinxi)
2. python中邮箱发送不了函数
在邮箱当中我们需要判断我们的使用工具,然后进行添加连接之后,再函数重新启动再次发送。
3. 使用python发送测试报告给邮箱为什么收不到邮件
应该是安全认证协议的问题,你试着组合一下。很早以前试过网易的邮箱是可以的。当时的验证手段,记得是2+3。 具体的还忘记了。好象当时smtp的库比较弱,自己写的message打包程序。还有中文标题的解码都是自己写的。
4. Python中如何用程序获得电子邮箱的用户名
你好。获得电子邮箱的用户名。首先你要下载一个电子邮箱。你可以下载邮箱大师。邮箱大师下载后可以使用拼音字母注册。也可以使用拼音加阿拉伯数字注册。注册完成后,邮箱就可以接收和发送电子邮件了。也可以使用邮箱的账号注册应用软件了。注册的号码就是你的邮箱账号。也是你的邮箱地址。
5. 请问如何用python将某个邮箱未读邮件全部转发到另一个邮箱
首先了解SMTP(简单邮件传输协议),邮件传送代理程序使用SMTP协议来发送电邮到接收者的邮件服务器。SMTP协议只能用来发送邮件,不能用来接收邮件,而大多数的邮件发送服务器都是使用SMTP协议。SMTP协议的默认TCP端口号是25。
本文主要介绍利用'smtplib','email'两个模块来实现邮件的发送,可以如下查看两个模块的函数和方法:
smtplib模块简介:
smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])
此为SMTP类构造函数,表示与SMTP服务器之间的连接,并根据这个连接向smtp服务器发送指令,执行相关操作(如:登陆、发送邮件),且每个参数都是可选的。
其中最重要的参数:
host:smtp服务器主机名
port:smtp服务的端口,默认是25;
如果在创建SMTP对象的时候提供了这两个参数,在初始化的时候会自动调用connect方法去连接服务器。
smtplib.SMTP还提供了如下方法:
SMTP.set_debuglevel(level):设置是否为调试模式
SMTP.connect([host[, port]]):连接到指定的smtp服务器。参数分别表示 smpt主机和端口。
SMTP.docmd(cmd[, argstring]):向smtp服务器发送指令。
SMTP.helo([hostname]) :使用"helo"指令向服务器确认身份。
SMTP.login(user, password):登陆到smtp服务器。现在几乎所有smtp服务器,都必须在验证用户信息合法之后才允许发送邮件。(重要!)
SMTP.sendmail(from_addr,to_addrs,msg[,mail_options,rcpt_options]):发送邮件。这里要注意一下第三个参数,msg是字符串,表示邮件。我们知道邮件一般由标题,发信人,收件人,邮件内容,附件等构成,发送邮件的时候,要注意msg的格式。这个格式就是smtp协议中定义的格式。SMTP.quit() :断开与smtp服务器的连接,相当于发送"quit"指令。(重要!)
常用的函数方法:
email模块
1.class email.message.Message
__getitem__,__setitem__实现obj[key]形式的访问。
Msg.attach(playload): 向当前Msg添加playload。
Msg.set_playload(playload):
Msg.add_header(_name, _value, **_params): 添加邮件头字段。
2.class email.mime.base.MIMEBase(_maintype, _subtype, **_params)
所有MIME类的基类,是email.message.Message类的子类。
3.class email.mime.multipart.MIMEMultipart()
在3.0版本的email模块 (Python 2.3-Python 2.5) 中,这个类位于email.MIMEMultipart.MIMEMult ipart。这个类是MIMEBase的直接子类,用来生成包含多个部分的邮件体的MIME对象。
4.class email.mime.text.MIMEText(_text)
使用字符串_text来生成MIME对象的主体文本。
获得所需要使用的邮箱的host地址和port端口号,(本文使用的是163邮箱,对应的smtp服务器地址:mail.163.com,端口号25)
常用邮箱的smtp服务器地址和端口号如图:
编写程序如下:
#! /usr/bin/env python
import smtpli
from email.mime.text import MIMEText
mailto_list=['[email protected]'] #收件人(列表)
mail_host="smtp.163.com" #使用的邮箱的smtp服务器地址
mail_user="name" #用户名
mail_pass="pwd" #密码
mail_postfix="postfix" #邮箱的后缀
def send_mail(to_list,sub,content):
me="hello"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content,_subtype='plain')
msg['Subject'] = sub
msg['From'] = me
msg['To'] = ";".join(to_list) #将收件人列表以‘;’分隔
try:
server = smtplib.SMTP()
server.connect(mail_host) #连接服务器
server.login(mail_user,mail_pass) #登录操作
server.sendmail(me, to_list, msg.as_string())
server.close()
return True
except Exception, e:
print str(e)
return False
for i in range(5): #发送五封,不过会被拦截的。。。
if send_mail(mailto_list,"hello","haha!"): #邮件主题和邮件内容
print "done!"
else:
print "failed!"
最后,可以运行编写的py文件,可以得到如图所是的结果,代表邮件发送成功。
这样,就能成功实现用Python发送邮件啦!
6. 我不记得我的电子邮箱了
忘记用户名不好办了,忘记密码可以通过以下方法找回:
一、请您通过在注册时填写的密码提示问题、答案来进行密码找回。
二、如果您当时的密码提示问题、答案已经丢失或者遗忘,则烦请您点击密码提示问题、答案输入页下方的“我忘记答案了”,进入到密码找回申请页面。
三、如果您当时注册邮箱填写的资料都已经忘记或者无法提供的话,则烦请您通过平信的方式来进行密码的找回。
7. python里面如何判断一个邮箱地址是否存在(非邮件格式是否合法)
是否真实存在 而不是随便写一个格式正确的地址 存在则可以提交注册 不存在则要提示 ... 或者字符串里有邮件地址里不允许包含的字符。favormm的博客分享了判断邮箱是否合法
8. 不记得邮箱账号怎么找回邮箱
只要你知道了你是注册的哪里的邮箱就可以找回来,比方是163的
,点击登陆。旁边有一个忘记密码
,你点击,里边有选项。你选择忘记邮箱,然后会有提示你输入但是注册的信息和联系方式!
9. python 邮箱登录的问题
这可能是一种安全机制。由于采用SMTP时,原则上不再需要用户手工输入密码,因为设置SMTP发送方式的原因就是方便使用客户端或自动化程序来发送邮件,因此,仅在首次创建连接时,需要由用户人工输入密码,而这是有可能输入错误的。一旦输入正确,原则上,客户端或你自己所写的代码即会保存这个密码,在以后建立连接时,这一密码就不会“输入”错误了。如果输入错误,只能认定为攻击行为。所以,你必须确保密码的正确性。
如果你非要考虑输错密码的情形,使其能在输错密码断开连接后,自动重新建立新的连接,则可以在输入密码部分使用try来捕获SMTPServerDisconnected异常。当异常被触发时,建立新的连接即可。