本文目录一览:
- 1、如何通过python发送邮件啊?
- 2、利用python在linux系统内发送mail
- 3、我写了一个python程序,报错NameError: name XX is not defined 求解
- 4、Python自动化测试框架
- 5、使用python发送测试报告给邮箱为什么收不到邮件
如何通过python发送邮件啊?
一般最好有个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!"
如果要不经过邮件系统直接发,通常会被当作垃圾邮件扔了,所以还是这样吧。
利用python在linux系统内发送mail
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#导入smtplib和MIMEText
import smtplib,sys
from email.mime.text import MIMEText
def send_mail(sub,content):
#############
#要发给谁,这里发给1个人
mailto_list=["wangwei03@gyyx.cn"]
#####################
#设置服务器,用户名、口令以及邮箱的后缀
mail_host="mail.gyyx.cn"
mail_user="wangwei03@gyyx.cn"
mail_pass="123456677890"
mail_postfix="gyyx.cn"
######################
'''''
to_list:发给谁
sub:主题
content:内容
send_mail("aaa@126.com","sub","content")
'''
me=mail_user+""+mail_user+"@"+mail_postfix+""
msg = MIMEText(content,_charset='gbk')
msg['Subject'] = sub
msg['From'] = me
msg['To'] = ";".join(mailto_list)
try:
s = smtplib.SMTP()
s.connect(mail_host)
s.login(mail_user,mail_pass)
s.sendmail(me, mailto_list, msg.as_string())
s.close()
return True
except Exception, e:
print str(e)
return False
if __name__ == '__main__':
if send_mail(u'这是python测试邮件',u'python发送邮件'):
print u'发送成功'
else:
print u'发送失败'
我写了一个python程序,报错NameError: name XX is not defined 求解
Python程序,错误NameError:名称XX未定义不是由声明引起的,需要在文件的前两行声明代码,声明方法是:
1,在文件中写一个带有中文字符的python文件,不进行编码。
2,当程序文件中有中文字符时,如果文件未声明编码格式,则会显示错误消息:文件“encode.py”,第1行#SaxaxError:文件编码中的非ASCII字符'\ xe7'。 py在第1行,但没有编码声明;有关详细信息,请参阅//..python.../dev/peps/pep-0263/。
3,根据错误提示,在python官方网站上获取以下帮助信息。
4,因此,请按照帮助文档提示和示例在Python文件中包含代码声明。
5,保存后,再次运行,运行成功。
Python自动化测试框架
(1)截图、报告、驱动存放路径;
(2)发送邮件使用到的发件人邮箱及登录密码(因为发送邮件一般用于自动发送测试报告,所以发件人比较固定);
(3)绕过登录验证码要写入的cookies信息
使用python发送测试报告给邮箱为什么收不到邮件
应该是安全认证协议的问题,你试着组合一下。很早以前试过网易的邮箱是可以的。当时的验证手段,记得是2+3。 具体的还忘记了。好象当时smtp的库比较弱,自己写的message打包程序。还有中文标题的解码都是自己写的。