本文實(shí)例為大家分享了python實(shí)現(xiàn)郵箱發(fā)送信息的具體代碼,供大家參考,具體內(nèi)容如下
一、SSL
SSL 是指安全套接字層,簡而言之,它是一項(xiàng)標(biāo)準(zhǔn)技術(shù),可確?;ヂ?lián)網(wǎng)連接安全,保護(hù)兩個(gè)系統(tǒng)之間發(fā)送的任何敏感數(shù)據(jù),防止網(wǎng)絡(luò)犯罪分子讀取和修改任何傳輸信息,包括個(gè)人資料。兩個(gè)系統(tǒng)可能是指服務(wù)器和客戶端(例如,瀏覽器和購物網(wǎng)站),或兩個(gè)服務(wù)器之間(例如,含個(gè)人身份信息或工資單信息的應(yīng)用程序)。
二、SMTP
SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協(xié)議,它是一組用于由源地址到目的地址傳送郵件的規(guī)則,由它來控制信件的中轉(zhuǎn)方式。
python的smtplib提供了一種很方便的途徑發(fā)送電子郵件。它對(duì)smtp協(xié)議進(jìn)行了簡單的封裝。
三、實(shí)現(xiàn)郵箱轟炸
需要用到三個(gè)模塊
1、SMTP_SSL --傳輸加密,安全,也可以用smtplib,但是建議用SSL
2、MIMEText --用來返回對(duì)象(返回對(duì)象方便操作),并且存放寫入的內(nèi)容
3、Header --用來反檢測(cè),不寫的話郵箱可能提示為垃圾郵箱,就不能發(fā)送信息了
三步驟:
1、登錄(SMTP_SSL)–要實(shí)例化SMTP_SSL對(duì)象
2、發(fā)送寫入的信息(sendmail(starthost,endhost,me.as_string())–starthost為
3、退出(quit)
'''
參數(shù)說明:
host: SMTP 服務(wù)器主機(jī)。 你可以指定主機(jī)的ip地址或者域名如:runoob.com,這個(gè)是可選參數(shù)。
port: 如果你提供了 host 參數(shù), 你需要指定 SMTP 服務(wù)使用的端口號(hào),一般情況下SMTP端口號(hào)為25。
local_hostname: 如果SMTP在你的本機(jī)上,你只需要指定服務(wù)器地址為 localhost 即可。
'''
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
'''
參數(shù)說明:
from_addr: 郵件發(fā)送者地址。
to_addrs: 字符串列表,郵件發(fā)送地址。
msg: 發(fā)送消息
Python SMTP對(duì)象使用sendmail方法發(fā)送郵件,語法如下:
'''
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]
實(shí)現(xiàn)方式:
使用第三方郵箱服務(wù):
列如用自己的qq郵箱服務(wù)來向?qū)Ψ剑ɑ蛘咦约海┌l(fā)送(匿名)郵箱信息
但是得首先得到QQ郵箱的授權(quán)碼(網(wǎng)上有教程,很簡單)
'''
Python 郵箱 深夜測(cè)試
授權(quán)碼:*****
'''
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.header import Header
#第三方服務(wù)(qq)
mail_host = 'smtp.qq.com'
mail_user = '27*****' #賬號(hào)
mail_pws = '*****' #授權(quán)碼
#登錄
smtp = SMTP_SSL(mail_host) #實(shí)例化
smtp.ehlo(mail_host)
smtp.login(mail_user,mail_pws)#登錄
#我和對(duì)方的郵件地址
my_mail = '27*****@qq.com' #自己打的郵箱地址
her_mail = '*****@163.com' #對(duì)方的郵箱地址
#寫入的內(nèi)容
cont = '你好我是HV,我來自外星球!'
#標(biāo)題
title = '來著地球的HV'
#內(nèi)容格式化
for i in range(10): #向目標(biāo)發(fā)送10個(gè)郵箱
msg = MIMEText(cont,'plain','UTF-8') #plain為txt格式,如果直接寫txt的話,會(huì)被檢測(cè)為垃圾郵箱
msg['Subject'] = Header(title,'UTF-8')
msg['From'] = my_mail #這里有填寫您的郵箱地址格式,對(duì)方才會(huì)知道發(fā)件人是誰,要不然對(duì)方默認(rèn)為(無發(fā)件人)
msg['To'] = '我的好友' #這個(gè)要注意!這里只能填字符串,如果填其他的數(shù)據(jù)類型就會(huì)報(bào)錯(cuò)!
smtp.sendmail(my_mail,her_mail,msg.as_string())
# smtp.quit()
smtp.quit() #關(guān)閉SMTP,郵箱信息傳輸
當(dāng)然也可以封裝在函數(shù)里面方便調(diào)用
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- Python中的異常類型及處理方式示例詳解
- Python Pytest裝飾器@pytest.mark.parametrize詳解
- python3 使用OpenCV計(jì)算滑塊拼圖驗(yàn)證碼缺口位置(場(chǎng)景示例)
- 詳解python關(guān)于多級(jí)包之間的引用問題
- 一些讓Python代碼簡潔的實(shí)用技巧總結(jié)
- 利用Python讀取微信朋友圈的多種方法總結(jié)
- python庫sklearn常用操作
- Python使用psutil庫對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行采集監(jiān)控的方法
- python編寫adb截圖工具的實(shí)現(xiàn)源碼
- Python爬蟲技術(shù)