如何用python實現郵箱傳送資訊

大雄45發表於2021-09-11
導讀 這篇文章主要為大家詳細介紹了python實現郵箱傳送資訊,文中示例程式碼介紹的非常詳細,具有一定的參考價值,感興趣的小夥伴們可以參考一下

本文例項為大家分享了python實現郵箱傳送資訊的具體程式碼,供大家參考,具體內容如下

一、SSL

SSL 是指安全套接字層,簡而言之,它是一項標準技術,可確保網際網路連線安全,保護兩個系統之間傳送的任何敏感資料,防止網路犯罪分子讀取和修改任何傳輸資訊,包括個人資料。兩個系統可能是指伺服器和客戶端(例如,瀏覽器和購物網站),或兩個伺服器之間(例如,含個人身份資訊或工資單資訊的應用程式)。

二、SMTP

SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。

python的smtplib提供了一種很方便的途徑傳送電子郵件。它對smtp協議進行了簡單的封裝。

三、實現郵箱轟炸
需要用到三個模組

1、SMTP_SSL --傳輸加密,安全,也可以用smtplib,但是建議用SSL

2、MIMEText --用來返回物件(返回物件方便操作),並且存放寫入的內容

3、Header --用來反檢測,不寫的話郵箱可能提示為垃圾郵箱,就不能傳送資訊了

三步驟:

1、登入(SMTP_SSL)–要例項化SMTP_SSL物件

2、傳送寫入的資訊(sendmail(starthost,endhost,me.as_string())–starthost為

3、退出(quit)

'''
引數說明:
    host: SMTP 伺服器主機。 你可以指定主機的ip地址或者域名如:runoob.com,這個是可選引數。
    port: 如果你提供了 host 引數, 你需要指定 SMTP 服務使用的埠號,一般情況下SMTP埠號為25。
    local_hostname: 如果SMTP在你的本機上,你只需要指定伺服器地址為 localhost 即可。
'''
import smtplib
smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )
 
'''
引數說明:
    from_addr: 郵件傳送者地址。
    to_addrs: 字串列表,郵件傳送地址。
    msg: 傳送訊息
Python SMTP物件使用sendmail方法傳送郵件,語法如下:
'''
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]
實現方式:

使用第三方郵箱服務:

列如用自己的qq郵箱服務來向對方(或者自己)傳送(匿名)郵箱資訊

但是得首先得到QQ郵箱的授權碼(網上有教程,很簡單)

'''
    Python 郵箱 深夜測試
    授權碼:*****
'''
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.header import Header
 
#第三方服務(qq)
mail_host = 'smtp.qq.com'
mail_user = '27*****' #賬號
mail_pws = '*****' #授權碼
 
#登入
smtp = SMTP_SSL(mail_host)  #例項化
smtp.ehlo(mail_host)
smtp.login(mail_user,mail_pws)#登入
 
#我和對方的郵件地址
my_mail = '27*****@qq.com' #自己打的郵箱地址
her_mail = '*****@163.com' #對方的郵箱地址
 
#寫入的內容
cont = '你好我是HV,我來自外星球!'
#標題
title = '來著地球的HV'
 
#內容格式化
for i in range(10): #向目標傳送10個郵箱
    msg = MIMEText(cont,'plain','UTF-8') #plain為txt格式,如果直接寫txt的話,會被檢測為垃圾郵箱
    msg['Subject'] = Header(title,'UTF-8') 
    msg['From'] = my_mail #這裡有填寫您的郵箱地址格式,對方才會知道發件人是誰,要不然對方預設為(無發件人)
    msg['To'] = '我的好友' #這個要注意!這裡只能填字串,如果填其他的資料型別就會報錯!
    smtp.sendmail(my_mail,her_mail,msg.as_string())
    # smtp.quit()
 
smtp.quit() #關閉SMTP,郵箱資訊傳輸
'''
    Python 郵箱 深夜測試
    授權碼:*****
'''
from smtplib import SMTP_SSL
from email.mime.text import MIMEText
from email.header import Header
#第三方服務(qq)
mail_host = 'smtp.qq.com'
mail_user = '27*****' #賬號
mail_pws = '*****' #授權碼
#登入
smtp = SMTP_SSL(mail_host)  #例項化
smtp.ehlo(mail_host)
smtp.login(mail_user,mail_pws)#登入
#我和對方的郵件地址
my_mail = '27*****@qq.com' #自己打的郵箱地址
her_mail = '*****@163.com' #對方的郵箱地址
#寫入的內容
cont = '你好我是HV,我來自外星球!'
#標題
title = '來著地球的HV'
#內容格式化
for i in range(10): #向目標傳送10個郵箱
    msg = MIMEText(cont,'plain','UTF-8') #plain為txt格式,如果直接寫txt的話,會被檢測為垃圾郵箱
    msg['Subject'] = Header(title,'UTF-8') 
    msg['From'] = my_mail #這裡有填寫您的郵箱地址格式,對方才會知道發件人是誰,要不然對方預設為(無發件人)
    msg['To'] = '我的好友' #這個要注意!這裡只能填字串,如果填其他的資料型別就會報錯!
    smtp.sendmail(my_mail,her_mail,msg.as_string())
    # smtp.quit()
smtp.quit() #關閉SMTP,郵箱資訊傳輸

當然也可以封裝在函式里面方便呼叫

原文來自:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2791551/,如需轉載,請註明出處,否則將追究法律責任。

相關文章