當前位置:首頁 » 編程語言 » pythonimap郵件

pythonimap郵件

發布時間: 2022-04-22 07:50:17

python smtp郵件發送失敗怎麼辦

以下代碼調試通過:

#coding:utf-8
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.headerimportHeader

sender='[email protected]'
receiver='[email protected]'
subject='pythonemailtest'
smtpserver='smtp.139.com'
username='[email protected]'
password='xxxxxx'

msg=MIMEText('你好','text','utf-8')#中文需參數『utf-8',單位元組字元不需要
msg['Subject']=Header(subject,'utf-8')

smtp=smtplib.SMTP()
smtp.connect('smtp.139.com')
smtp.login(username,password)
smtp.sendmail(sender,receiver,msg.as_string())
smtp.quit()

運行效果:

㈡ python用smtp發送郵件要先注冊嗎

SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。
python的smtplib提供了一種很方便的途徑發送電子郵件。它對smtp協議進行了簡單的封裝。
Python創建 SMTP 對象語法如下:

import smtplib

smtpObj = smtplib.SMTP( [host [, port [, local_hostname]]] )

參數說明:
host: SMTP 伺服器主機。 你可以指定主機的ip地址或者域名如:ziqiangxuetang.com,這個是可選參數。
port: 如果你提供了 host 參數, 你需要指定 SMTP 服務使用的埠號,一般情況下SMTP埠號為25。
local_hostname: 如果SMTP在你的本機上,你只需要指定伺服器地址為 localhost 即可。
Python SMTP對象使用sendmail方法發送郵件,語法如下:

SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]

參數說明:
from_addr: 郵件發送者地址。
to_addrs: 字元串列表,郵件發送地址。
msg: 發送消息
這里要注意一下第三個參數,msg是字元串,表示郵件。我們知道郵件一般由標題,發信人,收件人,郵件內容,附件等構成,發送郵件的時候,要注意msg的格式。這個格式就是smtp協議中定義的格式。
實例
以下是一個使用Python發送郵件簡單的實例:

#!/usr/bin/python

import smtplib

sender = '[email protected]'
receivers = ['[email protected]']

message = """From: From Person <[email protected]>
To: To Person <[email protected]>
Subject: SMTP e-mail test

This is a test e-mail message.
"""

try:
smtpObj = smtplib.SMTP('localhost')
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
except SMTPException:
print "Error: unable to send email"

使用Python發送HTML格式的郵件
Python發送HTML格式的郵件與發送純文本消息的郵件不同之處就是將MIMEText中_subtype設置為html。具體代碼如下:

import smtplib
from email.mime.text import MIMEText
mailto_list=["[email protected]"]
mail_host="smtp.XXX.com" #設置伺服器
mail_user="XXX" #用戶名
mail_pass="XXXX" #口令
mail_postfix="XXX.com" #發件箱的後綴

def send_mail(to_list,sub,content): #to_list:收件人;sub:主題;content:郵件內容
me="hello"+"<"+mail_user+"@"+mail_postfix+">" #這里的hello可以任意設置,收到信後,將按照設置顯示
msg = MIMEText(content,_subtype='html',_charset='gb2312') #創建一個實例,這里設置為html格式郵件
msg['Subject'] = sub #設置主題
msg['From'] = me
msg['To'] = ";".join(to_list)
try:
s = smtplib.SMTP()
s.connect(mail_host) #連接smtp伺服器
s.login(mail_user,mail_pass) #登陸伺服器
s.sendmail(me, to_list, msg.as_string()) #發送郵件
s.close()
return True
except Exception, e:
print str(e)
return False
if __name__ == '__main__':
if send_mail(mailto_list,"hello","<a href='http://www.cnblogs.com/xiaowuyi'>小五義</a>"):
print "發送成功"
else:
print "發送失敗"

或者你也可以在消息體中指定Content-type為text/html,如下實例:

#!/usr/bin/python

import smtplib

message = """From: From Person <[email protected]>
To: To Person <[email protected]>
MIME-Version: 1.0
Content-type: text/html
Subject: SMTP HTML e-mail test

This is an e-mail message to be sent in HTML format

<b>This is HTML message.</b>
<h1>This is headline.</h1>
"""

try:
smtpObj = smtplib.SMTP('localhost')
smtpObj.sendmail(sender, receivers, message)
print "Successfully sent email"
except SMTPException:
print "Error: unable to send email"

Python發送帶附件的郵件
發送帶附件的郵件,首先要創建MIMEMultipart()實例,然後構造附件,如果有多個附件,可依次構造,最後利用smtplib.smtp發送。

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib

#創建一個帶附件的實例
msg = MIMEMultipart()

#構造附件1
att1 = MIMEText(open('d:\\123.rar', 'rb').read(), 'base64', 'gb2312')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename="123.doc"'#這里的filename可以任意寫,寫什麼名字,郵件中顯示什麼名字
msg.attach(att1)

#構造附件2
att2 = MIMEText(open('d:\\123.txt', 'rb').read(), 'base64', 'gb2312')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename="123.txt"'
msg.attach(att2)

#加郵件頭
msg['to'] = '[email protected]'
msg['from'] = '[email protected]'
msg['subject'] = 'hello world'
#發送郵件
try:
server = smtplib.SMTP()
server.connect('smtp.XXX.com')
server.login('XXX','XXXXX')#XXX為用戶名,XXXXX為密碼
server.sendmail(msg['from'], msg['to'],msg.as_string())
server.quit()
print '發送成功'
except Exception, e:
print str(e)

以下實例指定了Content-type header 為 multipart/mixed,並發送/tmp/test.txt 文本文件:

#!/usr/bin/python

import smtplib
import base64

filename = "/tmp/test.txt"

# 讀取文件內容並使用 base64 編碼
fo = open(filename, "rb")
filecontent = fo.read()
encodedcontent = base64.b64encode(filecontent) # base64

sender = '[email protected]'
reciever = '[email protected]'

marker = "AUNIQUEMARKER"

body ="""
This is a test email to send an attachement.
"""
# 定義頭部信息
part1 = """From: From Person <[email protected]>
To: To Person <[email protected]>
Subject: Sending Attachement
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary=%s
--%s
""" % (marker, marker)

# 定義消息動作
part2 = """Content-Type: text/plain
Content-Transfer-Encoding:8bit

%s
--%s
""" % (body,marker)

# 定義附近部分
part3 = """Content-Type: multipart/mixed; name=\"%s\"
Content-Transfer-Encoding:base64
Content-Disposition: attachment; filename=%s

%s
--%s--
""" %(filename, filename, encodedcontent, marker)
message = part1 + part2 + part3

try:
smtpObj = smtplib.SMTP('localhost')
smtpObj.sendmail(sender, reciever, message)
print "Successfully sent email"
except Exception:
print "Error: unable to send email"

㈢ Python郵件發送。為什麼我用smtp發送郵件,發送成功沒有報錯,卻沒有收到郵件求解

以下代碼調試通過:

#coding:utf-8
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.headerimportHeader

sender='[email protected]'
receiver='[email protected]'
subject='pythonemailtest'
smtpserver='smtp.139.com'
username='[email protected]'
password='xxxxxxxx'

msg=MIMEText('你好lucia這是你的第一封python發出的郵件','text','utf-8')
#中文需參數『utf-8',單位元組字元不需要
msg['Subject']=Header(subject,'utf-8')

smtp=smtplib.SMTP()
smtp.connect('smtp.139.com')
smtp.login(username,password)
smtp.sendmail(sender,receiver,msg.as_string())
smtp.quit()

運行效果:

㈣ 如何使用Python發送帶的郵件

.headerimportHeaderfromemail.mime.textimportMIMETextfromemail.utilsimportparseaddr,formataddrdefsend_email(from_addr,to_addr,subject,password):
msg=MIMEText("郵件正文",'html','utf-8')
msg['From']=u'<%s>'%from_addr
msg['To']=u'<%s>'%to_addr
msg['Subject']=subject

smtp=smtplib.SMTP_SSL('smtp.163.com',465)
smtp.set_debuglevel(1)
smtp.ehlo("smtp.163.com")
smtp.login(from_addr,password)
smtp.sendmail(from_addr,[to_addr],msg.as_string())if__name__=="__main__":
#這里的密碼是開啟smtp服務時輸入的客戶端登錄授權碼,並不是郵箱密碼
#現在很多郵箱都需要先開啟smtp才能這樣發送郵件
send_email(u"from_addr",u"to_addr",u"主題",u"password")

㈤ 如何用python發送email

python中email模塊使得處理郵件變得比較簡單,今天著重學習了一下發送郵件的具體做法,這里寫寫自己的的心得,也請高手給些指點。
一、相關模塊介紹
發送郵件主要用到了smtplib和email兩個模塊,這里首先就兩個模塊進行一下簡單的介紹:
1、smtplib模塊
smtplib.SMTP([host[, port[, local_hostname[, timeout]]]])
SMTP類構造函數,表示與SMTP伺服器之間的連接,通過這個連接可以向smtp伺服器發送指令,執行相關操作(如:登陸、發送郵件)。所有參數都是可選的。
host:smtp伺服器主機名
port:smtp服務的埠,默認是25;如果在創建SMTP對象的時候提供了這兩個參數,在初始化的時候會自動調用connect方法去連接伺服器。
smtplib模塊還提供了SMTP_SSL類和LMTP類,對它們的操作與SMTP基本一致。
smtplib.SMTP提供的方法:
SMTP.set_debuglevel(level):設置是否為調試模式。默認為False,即非調試模式,表示不輸出任何調試信息。
SMTP.connect([host[, port]]):連接到指定的smtp伺服器。參數分別表示smpt主機和埠。注意: 也可以在host參數中指定埠號(如:smpt.yeah.net:25),這樣就沒必要給出port參數。
SMTP.docmd(cmd[, argstring]):向smtp伺服器發送指令。可選參數argstring表示指令的參數。
SMTP.helo([hostname]) :使用"helo"指令向伺服器確認身份。相當於告訴smtp伺服器「我是誰」。
SMTP.has_extn(name):判斷指定名稱在伺服器郵件列表中是否存在。出於安全考慮,smtp伺服器往往屏蔽了該指令。
SMTP.verify(address) :判斷指定郵件地址是否在伺服器中存在。出於安全考慮,smtp伺服器往往屏蔽了該指令。
SMTP.login(user, password) :登陸到smtp伺服器。現在幾乎所有的smtp伺服器,都必須在驗證用戶信息合法之後才允許發送郵件。
SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options]) :發送郵件。這里要注意一下第三個參數,msg是字元串,表示郵件。我們知道郵件一般由標題,發信人,收件人,郵件內容,附件等構成,發送郵件的時候,要注意msg的格式。這個格式就是smtp協議中定義的格式。
SMTP.quit() :斷開與smtp伺服器的連接,相當於發送"quit"指令。(很多程序中都用到了smtp.close(),具體與quit的區別google了一下,也沒找到答案。)
2、email模塊
emial模塊用來處理郵件消息,包括MIME和其他基於RFC 2822 的消息文檔。使用這些模塊來定義郵件的內容,是非常簡單的。其包括的類有:
class email.mime.base.MIMEBase(_maintype, _subtype, **_params):這是MIME的一個基類。一般不需要在使用時創建實例。其中_maintype是內容類型,如text或者image。_subtype是內容的minor type 類型,如plain或者gif。 **_params是一個字典,直接傳遞給Message.add_header()。
class email.mime.multipart.MIMEMultipart([_subtype[, boundary[, _subparts[, _params]]]]:MIMEBase的一個子類,多個MIME對象的集合,_subtype默認值為mixed。boundary是MIMEMultipart的邊界,默認邊界是可數的。
class email.mime.application.MIMEApplication(_data[, _subtype[, _encoder[, **_params]]]):MIMEMultipart的一個子類。
class email.mime.audio. MIMEAudio(_audiodata[, _subtype[, _encoder[, **_params]]]): MIME音頻對象
class email.mime.image.MIMEImage(_imagedata[, _subtype[, _encoder[, **_params]]]):MIME二進制文件對象。
class email.mime.message.MIMEMessage(_msg[, _subtype]):具體的一個message實例,使用方法如下:

msg=mail.Message.Message() #一個實例
msg['to']='[email protected]' #發送到哪裡
msg['from']='[email protected]' #自己的郵件地址
msg['date']='2012-3-16' #時間日期
msg['subject']='hello world' #郵件主題

class email.mime.text.MIMEText(_text[, _subtype[, _charset]]):MIME文本對象,其中_text是郵件內容,_subtype郵件類型,可以是text/plain(普通文本郵件),html/plain(html郵件), _charset編碼,可以是gb2312等等。
二、幾種郵件的具體實現代碼
1、普通文本郵件
普通文本郵件發送的實現,關鍵是要將MIMEText中_subtype設置為plain。首先導入smtplib和mimetext。創建smtplib.smtp實例,connect郵件smtp伺服器,login後發送,具體代碼如下:(python2.6下實現)

# -*- coding: UTF-8 -*-
'''
發送txt文本郵件
小五義:
'''
import smtplib
from email.mime.text import MIMEText
mailto_list=[[email protected]]
mail_host="smtp.XXX.com" #設置伺服器
mail_user="XXXX" #用戶名
mail_pass="XXXXXX" #口令
mail_postfix="XXX.com" #發件箱的後綴

def send_mail(to_list,sub,content):
me="hello"+"<"+mail_user+"@"+mail_postfix+">"
msg = MIMEText(content,_subtype='plain',_charset='gb2312')
msg['Subject'] = sub
msg['From'] = me
msg['To'] = ";".join(to_list)
try:
server = smtplib.SMTP()
server.connect(mail_host)
server.login(mail_user,mail_pass)
server.sendmail(me, to_list, msg.as_string())
server.close()
return True
except Exception, e:
print str(e)
return False
if __name__ == '__main__':
if send_mail(mailto_list,"hello","hello world!"):
print "發送成功"
else:
print "發送失敗"

2、html郵件的發送
與text郵件不同之處就是將將MIMEText中_subtype設置為html。具體代碼如下:(python2.6下實現)

# -*- coding: utf-8 -*-
'''
發送html文本郵件

'''
import smtplib
from email.mime.text import MIMEText
mailto_list=["[email protected]"]
mail_host="smtp.XXX.com" #設置伺服器
mail_user="XXX" #用戶名
mail_pass="XXXX" #口令
mail_postfix="XXX.com" #發件箱的後綴

def send_mail(to_list,sub,content): #to_list:收件人;sub:主題;content:郵件內容
me="hello"+"<"+mail_user+"@"+mail_postfix+">" #這里的hello可以任意設置,收到信後,將按照設置顯示
msg = MIMEText(content,_subtype='html',_charset='gb2312') #創建一個實例,這里設置為html格式郵件
msg['Subject'] = sub #設置主題
msg['From'] = me
msg['To'] = ";".join(to_list)
try:
s = smtplib.SMTP()
s.connect(mail_host) #連接smtp伺服器
s.login(mail_user,mail_pass) #登陸伺服器
s.sendmail(me, to_list, msg.as_string()) #發送郵件
s.close()
return True
except Exception, e:
print str(e)
return False
if __name__ == '__main__':
if send_mail(mailto_list,"hello","<a href=''>小五義</a>"):
print "發送成功"
else:
print "發送失敗"

3、發送帶附件的郵件
發送帶附件的郵件,首先要創建MIMEMultipart()實例,然後構造附件,如果有多個附件,可依次構造,最後利用smtplib.smtp發送。

# -*- coding: cp936 -*-
'''
發送帶附件郵件

'''

from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
import smtplib

#創建一個帶附件的實例
msg = MIMEMultipart()

#構造附件1
att1 = MIMEText(open('d:\\123.rar', 'rb').read(), 'base64', 'gb2312')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename="123.doc"'#這里的filename可以任意寫,寫什麼名字,郵件中顯示什麼名字
msg.attach(att1)

#構造附件2
att2 = MIMEText(open('d:\\123.txt', 'rb').read(), 'base64', 'gb2312')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename="123.txt"'
msg.attach(att2)

#加郵件頭
msg['to'] = '[email protected]'
msg['from'] = '[email protected]'
msg['subject'] = 'hello world'
#發送郵件
try:
server = smtplib.SMTP()
server.connect('smtp.XXX.com')
server.login('XXX','XXXXX')#XXX為用戶名,XXXXX為密碼
server.sendmail(msg['from'], msg['to'],msg.as_string())
server.quit()
print '發送成功'
except Exception, e:
print str(e)

4、利用MIMEimage發送圖片

# -*- coding: cp936 -*-
import smtplib
import mimetypes
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage

def AutoSendMail():
msg = MIMEMultipart()
msg['From'] = "[email protected]"
msg['To'] = "[email protected]"
msg['Subject'] = "hello world"

txt = MIMEText("這是中文的郵件內容哦",'plain','gb2312')
msg.attach(txt)

file1 = "C:\\hello.jpg"
image = MIMEImage(open(file1,'rb').read())
image.add_header('Content-ID','<image1>')
msg.attach(image)

server = smtplib.SMTP()
server.connect('smtp.XXX.com')
server.login('XXX','XXXXXX')
server.sendmail(msg['From'],msg['To'],msg.as_string())
server.quit()

if __name__ == "__main__":
AutoSendMail()

利用MIMEimage發送圖片,原本是想圖片能夠在正文中顯示,可是代碼運行後發現,依然是以附件形式發送的,希望有高手能夠指點一下,如何可以發送在正文中顯示的圖片的郵件,就是圖片是附件中存在,但同時能顯示在正文中,具體形式如下圖。

㈥ 我用python通過imap收取郵件時為什麼能收取

想用python做一個很簡單的接收郵件的功能,只看python的官方doc(http://docs.python.org/2/library/imaplib.html)真的很不好懂,經過google之,探索之,稍微總結一下:

要使用imap接收郵件,當然要導入imaplib拉.
import imaplib

然後按常規的,建立鏈接→登錄
conn = imaplib.IMAP4("imap.xxx.com",143)

conn.login("userName","password")

然後我想查看收件箱的郵件,咋辦呢?要先選擇一個目錄,收件箱默認名稱是"INBOX",IMAP是支持創建文件夾,查看其它文件夾的,如果是自己新建的文件夾,那麼名稱一般會是"INBOX.新建文件夾",不同的郵箱可能表示方式不一樣,如果你不知道的話,那運行conn.list()查看所有的文件夾.
conn.select("INBOX")

選擇後,然後查看文件夾,注意,IMAP的查看其實是一個搜索的過程,IMAP的原始命令是search all(大概的),在python里這么用:
type, data = conn.search(None, 'ALL')

然後返回的是這個收件箱里所有郵件的編號,按接收時間升序排列,最後的表示最近.
search這個很鬼麻煩,因為官方文檔里沒講這個函數的第二個參數怎麼用,於是找了下,可以填的命令有:
http://www.afterlogic.com/mailbee-net/docs/MailBee.ImapMail.Imap.Search_overload_1.html
於是如果我想找Essh郵件的話,使用
type, data = conn.search(None, '(SUBJECT "Essh")')

裡面要用一個括弧,代表是一個查詢條件,可以同時指定多個查詢條件,例如FROM xxxx SUBJECT "aaa",注意,命令要用括弧罩住(痛苦的嘗試)
search第一個參數是charset的意思,填None表示用默認ASCII,
data里獲取到的是一個只有一個字元串元素的數組,包含很多數字,用空格隔開
['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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103'

於是想獲取最後一封的做法是:
msgList = data[0].split()
last = msgList[len(msgList) - 1]

然後把那個郵件獲取回來,用fetch函數
例子:
conn.fetch(last, '(RFC822.SIZE BODY[HEADER.FIELDS (SUBJECT)])')

但是返回的是一串MIME編碼的東東,看不懂,如果能像eml那一操作一封郵件就好了.
方法是有的,用email庫.
import email

然後以RFC822獲取郵件格式,再用email.message_from_string轉換為message對象.就可以當message操作了,(http://docs.python.org/2/library/email.message.html)
type,data=connect.fetch(msgList[len(msgList)-1],'(RFC822)')
msg=email.message_from_string(data[0][1])
content=msg.get_payload(decode=True)

最後content得到就是郵件的內容了

㈦ python中如何實現發送郵件及附件功能的具體詳解

思路如下:
1. 構造MIMEMultipart對象做為根容器
2. 構造MIMEText對象做為郵件顯示內容並附加到根容器
3. 構造MIMEBase對象做為文件附件內容並附加到根容器
a. 讀入文件內容並格式化
b. 設置附件頭
4. 設置根容器屬性
5. 得到格式化後的完整文本
6. 用smtp發送郵件

㈧ 如何使用python發郵件

直接貼點代碼,感受下

#!/usr/bin/python

#-*-coding:UTF-8-*-importsmtplib

fromemail.mime.textimportMIMEText

fromemail.headerimportHeadersender='XXXXX'
receivers=['[email protected]']#接收郵件,可設置為你的QQ郵箱或者其他郵箱#三個參數:第一個為文本內容,第二個plain設置文本格式,第三個utf-8設置編碼

message=MIMEText('Python郵件發送測試...','plain','utf-8')

message['From']=Header("測試",'utf-8')

message['To']=Header("測試",'utf-8')subject='PythonSMTP郵件測試'

message['Subject']=Header(subject,'utf-8')

try:

smtpObj=smtplib.SMTP('localhost')

smtpObj.sendmail(sender,receivers,message.as_string())

print"郵件發送成功"

exceptsmtplib.SMTPException:

print"Error:無法發送郵件"

㈨ python收取郵件相關的代碼有嗎著急用python沒有用過盡量給好用的代碼。。。懸賞還可以追加只要代碼好使

importsmtplib
fromemail.HeaderimportHeader
fromemail.MIMETextimportMIMEText
fromemail.

defsend_email(sender,receiver,subject,context):
smtp_server="你的smtp地址"
msg=MIMEMultipart("alternatvie")
msg['Subject']=Header(subject,"utf-8")
msg['From']=r"%s"%(sender)
msg['To']=';'.join(receiver)

iftype(context)==file:
withopen(context,'r')asf:
context=f.read()
html_part=MIMEText(context,"html")
html_part.set_charset("gb2312")
msg.attach(html_part)

try:
s=smtplib.SMTP(smtp_server)
s.sendmail(msg['From'],receiver,msg.as_string())
s.close()
exceptException,e:
printe

接收郵件才分imap和pop3,發送不分的。


如果解決了您的問題請採納!
如果未解決請繼續追問

㈩ 如何用python自動發送郵件

注意如果使用qq的smtp轉發功能的話,需要在設置頁面中將該功能打開,然後設定密碼,改密碼就是賦值給下文password中的。

開啟smtp轉發功能文檔


[python]view plain

#fromemail.MIMETextimportMIMEText#

fromemail.MIMETextimportMIMEText

fromemail.HeaderimportHeader

msg=MIMEText('hello,sendbypython','plain','utf-8');

from_addr="*****@qq.com"#

password="******"#password

to_addr="****@qq.com"#targetemailaddress

smtp_server="smtp.qq.com"#smtpseverdomainforqqissmtp.qq.com

importsmtplib

server=smtplib.SMTP(smtp_server,25);

server.set_debuglevel(1)

server.login(from_addr,password);

server.sendmail(from_addr,[to_addr],msg.as_string())

server.quit()



上面這個是沒有主題的,有主題的話建議採用下面這個代碼

下面是連續發送有主題的文件10封


[python]view plain

fromemail.HeaderimportHeader

fromemail.MIMETextimportMIMEText

fromemailimportencoders

fromemail.utilsimportparseaddr,formataddr

importsmtplib

def_format_addr(s):

name,addr=parseaddr(s)

returnformataddr((Header(name,'utf-8').encode(),addr))

from_addr="*****@qq.com"#

password="******"#password

to_addr="****@qq.com"#targetemailaddress

smtp_server="smtp.qq.com"#smtpseverdomainforqqissmtp.qq.com

fornuminrange(1,11):

msg=MIMEText('hello,sendbyTom','plain','utf-8');

msg['From']=_format_addr('Tom<%s>'%from_addr)

msg['To']=_format_addr('addministrator<%s>'%to_addr)

msg['Subject']=Header('ThegreetingfromTom','utf-8').encode()

server=smtplib.SMTP(smtp_server,25)

server.set_debuglevel(1)

server.login(from_addr,password)

#server.sendmail(from_addr,[to_addr],msg.as_string())

server.sendmail(from_addr,[to_addr],msg.as_string())

server.quit()

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:333
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:374
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:609
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:29
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:103
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:939
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:736
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:800
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:507
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:369