本文目錄一覽:
- 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打包程序。還有中文標題的解碼都是自己寫的。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/301156.html