本文實例為大家分享了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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
''' 參數說明: 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郵箱的授權碼(網上有教程,很簡單)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
''' 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,郵箱信息傳輸 |
當然也可以封裝在函數里面方便調用
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/qq_41741971/article/details/86619882