- 論壇徽章:
- 0
|
import os, sys, string
import smtplib
import base64
# 郵件服務(wù)器地址
mailserver = "smtp.163.com"
# 郵件用戶名
username = "xxx
@163.com
"
# 密碼
password = "xxx"
# smtp會話過程中的mail from地址
from_addr = "xxx
@163.com
"
# smtp會話過程中的rcpt to地址
to_addr = "xxxxxxxx
@139.com
"
# 信件內(nèi)容
header = "From: "+from_addr+"\r\nTo: "+to_addr+"\r\nSubject: Test\r\n\r\n"
msg = "my python test mail"
svr = smtplib.SMTP(mailserver)
# 設(shè)置為調(diào)試模式,就是在會話過程中會有輸出信息
svr.set_debuglevel(1)
# ehlo命令,docmd方法包括了獲取對方服務(wù)器返回信息
svr.docmd("EHLO server")
# 加密信道
svr.starttls()
# auth login 命令
svr.docmd("AUTH LOGIN")
# 發(fā)送用戶名,是base64編碼過的,用send發(fā)送的,所以要用getreply獲取返回信息
svr.send(base64.encodestring(username))
svr.getreply()
# 發(fā)送密碼
svr.send(base64.encodestring(password))
svr.getreply()
# mail from, 發(fā)送郵件發(fā)送者
svr.docmd("MAIL FROM: " % from_addr)
# rcpt to, 郵件接收者
svr.docmd("RCPT TO: " % to_addr)
# data命令,開始發(fā)送數(shù)據(jù)
svr.docmd("DATA")
# 發(fā)送頭
svr.send(header)
# 發(fā)送正文數(shù)據(jù)
svr.send(msg)
# 比如以 . 作為正文發(fā)送結(jié)束的標(biāo)記
svr.send("\r\n.\r\n")
svr.getreply()
# 發(fā)送結(jié)束,退出
svr.quit()
--------------------------------------
#data 指令表示郵件內(nèi)容
print smtp.docmd('data')
print smtp.docmd('''''from:
from@yeah.net
to:
from@yeah.net
subject: subject
email body
.
''')
smtp.quit()
本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u2/60332/showart_2042971.html |
|