Ⅰ 如何用python寫一個發郵件的程序

請參考"Send email": http://www.oschina.net/code/snippet_944211_27429

Ⅱ 如何用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()

Ⅲ 如何使用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發郵件

直接貼點代碼,感受下

#!/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]view plain

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.textimportMIMEText

  • fromemail.headerimportHeader

  • sender='***'

  • receiver='***'

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • msg=MIMEText('你好','text','utf-8')#中文需參數『utf-8』,單位元組字元不需要

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

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msg.as_string())

  • smtp.quit()

  • HTML形式的郵件

    [python]view plain

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.textimportMIMEText

  • sender='***'

  • receiver='***'

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • msg=MIMEText('<html><h1>你好</h1></html>','html','utf-8')

  • msg['Subject']=subject

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msg.as_string())

  • smtp.quit()

  • 帶圖片的HTML郵件

    [python]view plain

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.multipartimportMIMEMultipart

  • fromemail.mime.textimportMIMEText

  • fromemail.mime.imageimportMIMEImage

  • sender='***'

  • receiver='***'

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • msgRoot=MIMEMultipart('related')

  • msgRoot['Subject']='testmessage'

  • msgText=MIMEText('<b>Some<i>HTML</i>text</b>andanimage.<br><imgsrc="cid:image1"><br>good!','html','utf-8')

  • msgRoot.attach(msgText)

  • fp=open('h:\python\1.jpg','rb')

  • msgImage=MIMEImage(fp.read())

  • fp.close()

  • msgImage.add_header('Content-ID','<image1>')

  • msgRoot.attach(msgImage)

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msgRoot.as_string())

  • smtp.quit()

  • 帶附件的郵件

    [python]view plain

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.multipartimportMIMEMultipart

  • fromemail.mime.textimportMIMEText

  • fromemail.mime.imageimportMIMEImage

  • sender='***'

  • receiver='***'

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • msgRoot=MIMEMultipart('related')

  • msgRoot['Subject']='testmessage'

  • #構造附件

  • att=MIMEText(open('h:\python\1.jpg','rb').read(),'base64','utf-8')

  • att["Content-Type"]='application/octet-stream'

  • att["Content-Disposition"]='attachment;filename="1.jpg"'

  • msgRoot.attach(att)

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msgRoot.as_string())

  • smtp.quit()

  • 群郵件

    [python]view plain

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.textimportMIMEText

  • sender='***'

  • receiver=['***','****',……]

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • msg=MIMEText('你好','text','utf-8')

  • msg['Subject']=subject

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msg.as_string())

  • smtp.quit()

  • 各種元素都包含的郵件

    [python]view plain

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.multipartimportMIMEMultipart

  • fromemail.mime.textimportMIMEText

  • fromemail.mime.imageimportMIMEImage

  • sender='***'

  • receiver='***'

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • #Createmessagecontainer-thecorrectMIMEtypeismultipart/alternative.

  • msg=MIMEMultipart('alternative')

  • msg['Subject']="Link"

  • #Createthebodyofthemessage(aplain-textandanHTMLversion).

  • text="Hi! Howareyou? Hereisthelinkyouwanted: http://www.python.org"

  • html="""

  • <html>

  • <head></head>

  • <body>

  • <p>Hi!<br>

  • Howareyou?<br>

  • Hereisthe<ahref="http://www.python.org">link</a>youwanted.

  • </p>

  • </body>

  • </html>

  • """

  • #RecordtheMIMEtypesofbothparts-text/plainandtext/html.

  • part1=MIMEText(text,'plain')

  • part2=MIMEText(html,'html')

  • #.

  • #AccordingtoRFC2046,,inthiscase

  • #theHTMLmessage,isbestandpreferred.

  • msg.attach(part1)

  • msg.attach(part2)

  • #構造附件

  • att=MIMEText(open('h:\python\1.jpg','rb').read(),'base64','utf-8')

  • att["Content-Type"]='application/octet-stream'

  • att["Content-Disposition"]='attachment;filename="1.jpg"'

  • msg.attach(att)

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msg.as_string())

  • smtp.quit()

  • 基於SSL的郵件

    [python]view plain

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.textimportMIMEText

  • fromemail.headerimportHeader

  • sender='***'

  • receiver='***'

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • msg=MIMEText('你好','text','utf-8')#中文需參數『utf-8』,單位元組字元不需要

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

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.ehlo()

  • smtp.starttls()

  • smtp.ehlo()

  • smtp.set_debuglevel(1)

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msg.as_string())

  • smtp.quit()

    文件形式的郵件

    [python]view plain

    HTML形式的郵件

    [python]view plain

    帶圖片的HTML郵件

    [python]view plain

    帶附件的郵件

    [python]view plain

    群郵件

    [python]view plain

    各種元素都包含的郵件

    [python]view plain

    基於SSL的郵件

    [python]view plain

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.textimportMIMEText

  • fromemail.headerimportHeader

  • sender='***'

  • receiver='***'

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • msg=MIMEText('你好','text','utf-8')#中文需參數『utf-8』,單位元組字元不需要

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

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.ehlo()

  • smtp.starttls()

  • smtp.ehlo()

  • smtp.set_debuglevel(1)

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msg.as_string())

  • smtp.quit()

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.multipartimportMIMEMultipart

  • fromemail.mime.textimportMIMEText

  • fromemail.mime.imageimportMIMEImage

  • sender='***'

  • receiver='***'

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • #Createmessagecontainer-thecorrectMIMEtypeismultipart/alternative.

  • msg=MIMEMultipart('alternative')

  • msg['Subject']="Link"

  • #Createthebodyofthemessage(aplain-textandanHTMLversion).

  • text="Hi! Howareyou? Hereisthelinkyouwanted: http://www.python.org"

  • html="""

  • <html>

  • <head></head>

  • <body>

  • <p>Hi!<br>

  • Howareyou?<br>

  • Hereisthe<ahref="http://www.python.org">link</a>youwanted.

  • </p>

  • </body>

  • </html>

  • """

  • #RecordtheMIMEtypesofbothparts-text/plainandtext/html.

  • part1=MIMEText(text,'plain')

  • part2=MIMEText(html,'html')

  • #.

  • #AccordingtoRFC2046,,inthiscase

  • #theHTMLmessage,isbestandpreferred.

  • msg.attach(part1)

  • msg.attach(part2)

  • #構造附件

  • att=MIMEText(open('h:\python\1.jpg','rb').read(),'base64','utf-8')

  • att["Content-Type"]='application/octet-stream'

  • att["Content-Disposition"]='attachment;filename="1.jpg"'

  • msg.attach(att)

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msg.as_string())

  • smtp.quit()

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.textimportMIMEText

  • sender='***'

  • receiver=['***','****',……]

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

  • username='***'

  • password='***'

  • msg=MIMEText('你好','text','utf-8')

  • msg['Subject']=subject

  • smtp=smtplib.SMTP()

  • smtp.connect('smtp.163.com')

  • smtp.login(username,password)

  • smtp.sendmail(sender,receiver,msg.as_string())

  • smtp.quit()

  • #!/usr/bin/envpython3

  • #coding:utf-8

  • importsmtplib

  • fromemail.mime.multipartimportMIMEMultipart

  • fromemail.mime.textimportMIMEText

  • fromemail.mime.imageimportMIMEImage

  • sender='***'

  • receiver='***'

  • subject='pythonemailtest'

  • smtpserver='smtp.163.com'

Ⅵ 如何通過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(['[email protected]'],"測試","測試"):
print "Success!"
else:
print "Fail!"

如果要不經過郵件系統直接發,通常會被當作垃圾郵件扔了,所以還是這樣吧。

Ⅶ 如何用python發送email

有好幾個模塊,可以實現.

這里用smtplib和email來實現了一個簡單的不帶附件的郵件發送

以163郵件為服務郵箱配置的。

#coding:utf-8
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.mime.multipartimportMIMEMultipart
importsys
reload(sys)
sys.setdefaultencoding("utf8")
#配置收發件人,可以發送給多個
recvaddress=['[email protected]','[email protected]']
#163的用戶名和密碼,修改為你自己的
sendaddr_name='[email protected]'
sendaddr_pswd='your_password'


classSendMail:
def__init__(self,recver=None):
"""接收郵件的人:listortuple"""
ifrecverisNone:
self.sendTo=recvaddress
else:
self.sendTo=recver

defsend(self,sub,content):
"""發送郵件"""
self.msg=MIMEMultipart()
#設置發送郵件
self.msg['from']=sendaddr_name
try:
#設置郵箱伺服器
smtp=smtplib.SMTP('smtp.163.com',25)
#登錄
smtp.login(sendaddr_name,sendaddr_pswd)
#設置發送主題
self.msg['Subject']=sub
#設置郵件內容
self.msg.attach(MIMEText(content))
#發送郵件
smtp.sendmail(self.msg['from'],self.sendTo,self.msg.as_string())
smtp.close()
print(u"發送郵件成功")
exceptException,e:
print(u'發送郵件失敗:'+str(e))
raise

#調用
s=SendMail()
subject="主題"
content="這里是郵件內容"
s.send(subject,content)

Ⅷ python3利用smtp登錄qq郵箱發送郵件

QQ郵箱是需要ssl加密的,所以普通的這種方法不行。
可以網路『python smtp ssl』 看看

Ⅸ python用QQ企業郵箱給別人發郵件後找不到發送記錄

你連接的是什麼伺服器?騰訊的企業郵箱標准smtp伺服器是smtp.exmail.qq.com發送埠為25 不需要勾選ssl,而且是必須要使用郵箱完整地址和郵箱密碼驗證通過後才能發送的,你使用的這個腳本是不是哪塊不完整導致的?

Ⅹ 如何在python程序中發郵件

提供以下兩種方式:

  1. 利用smtplib,email庫


coding:utf-8
importsmtplib
fromemail.mime.textimportMIMEText
fromemail.mime.multipartimportMIMEMultipart
importsys
reload(sys)
sys.setdefaultencoding("utf8")
#配置收發件人
recvaddress=['[email protected]','[email protected]']
#163的用戶名和密碼
sendaddr_name='[email protected]'
sendaddr_pswd='your_password'


classSendMail:
def__init__(self,recver=None):
"""接收郵件的人:listortuple"""
ifrecverisNone:
self.sendTo=recvaddress
else:
self.sendTo=recver

defsend(self,sub,content,attachcontent):
"""發送郵件"""
self.msg=MIMEMultipart()
#設置發送郵件
self.msg['from']=sendaddr_name
try:
#設置郵箱伺服器
smtp=smtplib.SMTP('smtp.163.com',25)
#登錄
smtp.login(sendaddr_name,sendaddr_pswd)
#設置發送主題
self.msg['Subject']=sub
#設置郵件內容
self.msg.attach(MIMEText(content))
#設置郵件附件,將附件的內容attachcontent,寫到filename的文件中,作為附件發送
att1=MIMEText(attachcontent,'base64','gb2312')
att1["Content-Type"]='application/octet-stream'
att1["Content-Disposition"]='attachment;filename="testattach.txt"'#這里的filename可以任意寫,寫什麼名字,郵件中顯示什麼名字
self.msg.attach(att1)
#發送郵件
smtp.sendmail(self.msg['from'],self.sendTo,self.msg.as_string())
smtp.close()
print(u"發送郵件成功")
exceptException,e:
print(u'發送郵件失敗:'+str(e))
raise

#調用
s=SendMail()
subject="主題"
content="這里是郵件內容"
attachcontent="這里是附件哦"
s.send(subject,content,attachcontent)

2.利用webpy自帶的email模塊

首先要安裝web.py的依賴庫

pip install web.py

#coding:utf-8

importweb

#####email伺服器配置#####
web.config.smtp_server='smtp.sina.com'
web.config.smtp_port=25
web.config.smtp_username='你的email前綴,@前的字元串'
web.config.smtp_password='你的密碼'
web.config.smtp_starttls=True
send_from="[email protected]"

receiveemailaddr=["[email protected]","[email protected]"]


subject=u'這里是主題'
message=u'這里是郵件的內容'

defsendemail(sendfrom,sendto,subject,message,cc=None,bcc=None,headers=({'User-Agent':'webpy.sendmail','X-Mailer':'webpy.sendmail',})):
try:
web.sendmail(send_from,sendto,subject,message,cc=cc,bcc=bcc)
print"郵件發送成功"
exceptException,e:
print(str(e))

#調用
sendemail(send_from,receiveemailaddr,subject,message)