日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

用Python发送邮件[zt]

發布時間:2025/4/5 python 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Python发送邮件[zt] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用Python發送郵件 服務器需要周期性的檢查郵件隊列,然后通過smtp服務器發送出去,就網上搜了搜,然后修改了加工了一下,寫了一個郵件發送的簡單模塊

兩個文件
config.py:配置信息
send_msg.py:發送郵件
send_msg.py
#coding=utf-8

import smtplib,config,email,sys
from email.Message import Message

def connect():
????"connect to smtp server and return a smtplib.SMTP instance object"
???? server=smtplib.SMTP(config.smtpserver,config.smtpport)
???? server.ehlo()
???? server.login(config.smtpuser,config.smtppass)
????return server
????
def sendmessage(server,to,subj,content):
????"using server send a email"
???? msg = Message()
???? msg['Mime-Version']='1.0'
???? msg['From']????= config.smtpuser
???? msg['To']??????= to
???? msg['Subject'] = subj
???? msg['Date']????= email.Utils.formatdate()??????????# curr datetime, rfc2822
???? msg.set_payload(content)
????try:????
???????? failed = server.sendmail(config.smtpuser,to,str(msg))???# may also raise exc
????except Exception ,ex:
??? ??? print Exception,ex
????????print 'Error - send failed'
????else:
??? ??? print "send success!"

if __name__=="__main__":
????#frm=raw_input('From? ').strip()
???? to=raw_input('To? ').strip()
???? subj=raw_input('Subj? ').strip()???
????print 'Type message text, end with line="."'
???? text = ''
????while True:
???????? line = sys.stdin.readline()
????????if line == '. ': break
???????? text += line
???? server=connect()
???? sendmessage(server,to,subj,text)
config.py
=====================================
smtpserver='mail.xxxx.net'
smtpuser='user@xxx.net'
smtppass='pwd'
smtpport='25' =====================================

原文地址 http://blog.csdn.net/foyuan/archive/2007/07/26/1709666.aspx

開發筆記:用Python發送郵件 下面是用Python發送email的示例。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import email
import mimetypes
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.MIMEImage import MIMEImage
import smtplib

def sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText):

??????? strFrom = fromAdd
??????? strTo = ', '.join(toAdd)

??????? server = authInfo.get('server')
??????? user = authInfo.get('user')
??????? passwd = authInfo.get('password')

??????? if not (server and user and passwd) :
??????????????? print 'incomplete login info, exit now'
??????????????? return

??????? # 設定root信息
??????? msgRoot = MIMEMultipart('related')
??????? msgRoot['Subject'] = subject
??????? msgRoot['From'] = strFrom
??????? msgRoot['To'] = strTo
??????? msgRoot.preamble = 'This is a multi-part message in MIME format.'

??????? # Encapsulate the plain and HTML versions of the message body in an
??????? # 'alternative' part, so message agents can decide which they want to display.
??????? msgAlternative = MIMEMultipart('alternative')
??????? msgRoot.attach(msgAlternative)

??????? #設定純文本信息
??????? msgText = MIMEText(plainText, 'plain', 'utf-8')
??????? msgAlternative.attach(msgText)

??????? #設定HTML信息
??????? msgText = MIMEText(htmlText, 'html', 'utf-8')
??????? msgAlternative.attach(msgText)

?????? #設定內置圖片信息
??????? fp = open('test.jpg', 'rb')
??????? msgImage = MIMEImage(fp.read())
??????? fp.close()
??????? msgImage.add_header('Content-ID', '<image1>')
??????? msgRoot.attach(msgImage)

?????? #發送郵件
??????? smtp = smtplib.SMTP()
?????? #設定調試級別,依情況而定
??????? smtp.set_debuglevel(1)
??????? smtp.connect(server)
??????? smtp.login(user, passwd)
??????? smtp.sendmail(strFrom, strTo, msgRoot.as_string())
??????? smtp.quit()
??????? return

if __name__ == '__main__' :
??????? authInfo = {}
??????? authInfo['server'] = 'smtp.somehost.com'
??????? authInfo['user'] = 'username'
??????? authInfo['password'] = 'password'
??????? fromAdd = 'username@somehost.com'
??????? toAdd = ['someone@somehost.com', 'other@somehost.com']
??????? subject = '郵件主題'
??????? plainText = '這里是普通文本'
??????? htmlText = '<B>HTML文本</B>'
??????? sendEmail(authInfo, fromAdd, toAdd, subject, plainText, htmlText)

http://blog.donews.com/maverick/archive/2007/04/22/1159142.aspx

轉載于:https://blog.51cto.com/axlrose/1292679

總結

以上是生活随笔為你收集整理的用Python发送邮件[zt]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。