Python 標準庫 —— 郵件(email)與郵件伺服器(smtplib)
你真的懂郵件嗎?郵件包括如下四部分內容:
- 傳送人:from_addr
- 接收人:to_addr
- 主題:subject
- 正文:msg(mime text 格式文字)
其中傳送者,接收者,又需要兩部分的內容構成:使用者名稱(字串形式)及其郵件地址([email protected])。
from email.mime.text import MIMEText
from email.header import Header
from email.utils import parseaddr, formataddr
import smtplib
def format_addr(s):
name, addr = parseaddr(s) # 將 s 解析為使用者名稱,郵件地址,比如 s = '使用者1 <%s>' % '[email protected]'
return formataddr((Header(name, 'utf-8').encode(), addr))
def email_server(server_ip, server_port):
return smtplib.SMTP(server_ip, server_port)
# MIMEText 正文內容
mimetext = MIMEText('hello there, when u read this, means ...' , 'plain', 'utf-8')
from_addr = '[email protected]'
password = 'xxxxxx'
from_info = '使用者1<%s>' % from_addr
to_addr = '[email protected]'
to_info = '使用者2<%s>' % to_addr
mimetext['From'] = format_addr(from_info)
mimetext['To'] = format_addr(to_info)
mimetext['Subject'] = Header('郵件測試' , 'utf-8').encode()
# 網易郵箱伺服器
server_ip = 'smtp.126.com'
server = email_server(server_ip, server_port=25)
# 登陸
server.login(from_addr, password)
# 傳送郵件
server.sendmail(from_addr, [to_addr], mimetext.as_string())
server.quit()
相關推薦
Python 標準庫 —— 郵件(email)與郵件伺服器(smtplib)
你真的懂郵件嗎?郵件包括如下四部分內容: 傳送人:from_addr 接收人:to_addr 主題:subject 正文:msg(mime text 格式文字) 其中傳送者,接收者,又需要兩部分
Python 標準庫一覽(Python進階學習)
日誌配置 -html 令行 鼓勵 python.h 垃圾 eap form types 轉自:http://blog.csdn.net/jurbo/article/details/52334345 寫這個的起因是,還是因為在做Python challenge的時候,
python標準庫常用模組(一)-----------------------------time模組詳解及相關演示程式碼
要想了解time模組,我們需要首先了解一下時間的三種表現形式: 1.時間戳:當前距離1970年的秒數 2.格式化的字串:即2018年9月11日的這種表現形式 3.struct_time:元組時間,以元組的形式顯示時間,一共有九個元素 下面來介紹一下它具體的方法及示例程
python標準庫常用模組(三)-----------------------------OS模組詳解,呼叫系統的命令
OS模組是呼叫系統命令的模組,和執行cmd的命令相似。 1.獲取當前的工作目錄:getcwd() 2.改變當前指令碼的工作目錄:chdir(path) 3.返回當前目錄:curdir() 4.獲取當前目錄的父目錄:pardir() 5.若目錄為空,則刪除,遞迴到上一
Python 標準庫之日期 & 時間篇(calendar,time,datetime)
寫在之前 在我們的日常生活當中,「時間」這個詞是比較籠統和含糊的。在物理學的概念中,「時間」是一個非常清晰的概念,在我們的 Python 中,時間是可以通過相關模組來實現的。 今天我們先來看「時間」裡的「日曆」。 calendar 先來看一下 calendar 如何使用:
Python3.5.2 document學習系列之02、The Python Standard Library(python 標準庫)——介紹
1.介紹Python庫包含幾種不同種類的組成部分。它包含通常被認為是一種語言“核心”部分的資料型別,如數字和列表。對這些型別來說,Python語言核心定義了書寫上的格式和位置以及一些語義上的約束,但沒有完全定義語法(另一方面,語言核心定義了語法特性像拼寫和操作優先順序)這個庫
Python 標準庫 —— uuid(生成唯一 ID)
有時我們在百度貼吧,在一個網站,儲存網頁上的一些圖片時,圖片名有時會是一串很長的數字和字母組成的,但無一例外,影象之間不會出現重名。這個唯一的 id,一般通過 uuid 的方式獲得,uuid 根據的是從 1970年1月1日到現在經歷的秒數。 1.
C++ 標準模板庫STL set 使用方法與應用介紹(一)
這次先看例子程式: #include <iostream> #include <set> #include <algorithm> #include <iterator> using namespace std; int
python標準庫--時間與日期
日期和時間(https://docs.python.org/3/library/datetime.html) datetime模組 date類-例項屬性: year month day
python中的==和is的使用(中文字串與英文字串有區別)
1.python中的==比較的是物件的值,而非物件本身,例:(這裡比較了數字、英文字串、中文字串、表) 從這看出==比較的只是值,而非物件本身 2.python中的is和is not判斷是否為同一物件(其實是根據內建函式id取得物件的唯一標識去判斷的),例:
numpy的array與python標準庫中的list相互轉換
將list轉換成array,用np.array(<list>) 將array轉換為list,用<array>.tolist() >>> a array([[1., 2., 3.], [1., 2., 3.], [0., 0
Python的time(時間戳與時間字串互相轉化)
strptime("string format")字串如“20130512000000”格式的 輸入處理函式 localtime(float a)時間戳的輸入處理函式 二者返回struct_time結構資料, 由strftime(format, float/time_st
Python標準庫02 時間與日期 (time, datetime包)
作者:Vamei 出處:http://www.cnblogs.com/vamei 歡迎轉載,也請保留這段宣告。謝謝! Python具有良好的時間和日期管理功能。實際上,計算機只會維護一個掛鐘時間(wall clock time),這個時間是從某個固定時間起點到現在的時間間隔。時間起點的選擇與計算機相關,但
Python中多程序的使用 Python的多執行緒(threading)與多程序(multiprocessing )示例程式碼 Python多程序程式設計
程序:程式的一次執行(程式載入記憶體,系統分配資源執行)。每個程序有自己的記憶體空間,資料棧等,程序之間可以進行通訊,但是不能共享資訊。 執行緒:所有的執行緒執行在同一個程序中,共享相同的執行環境。每個獨立的執行緒有一個程式入口,順序執行序列和程式的出口。 執行緒的執行可以被強佔,中斷或者暫時被
python中的類方法(classmethod)與靜態方法(staticmethod)
任何一種型別的方法,都可以用類或者物件來呼叫 那什麼時候使用物件方法,什麼時候使用類方法和靜態方法? 在絕大部分情況下,我們的方法都會宣告成 物件方法 如果我們希望用類來處理這個方法,或者不希望某一個屬性值不因為物件 而改變的時候,就可以用類方法 靜態方
C庫-----字串(string)與整型(int)、浮點型(float)等之間的轉換
#include <stdlib.h> 1.int/float to string/array: C語言提供了幾個標準庫函式,可以將任意型別(整型、長整型、浮點型等)的數字轉換為字串
Windows下使用python-nmap庫可能遇到的問題及解決方法(續)
之前,我有寫過一篇Blog關於相關問題的解決方案,文章地址。最近,在Windows下配置python-nmap時,又遇到了一些問題。總結記錄一下。 關於”nmap program was not found in path”問題的解決辦法:
python中 單星號(*)與雙星號(**)的使用
variable 變量命名規則 odin 不能 tool 除了 peer 雙星 pri 原帖地址見:[Python]-12-星號變量的特殊用法 在Python中,星號除了用於乘法數值運算和冪運算外,還有一種特殊的用法"在變量前添加單個星號或兩個星號",實現多參數的傳入或變量
Java學習筆記——排序算法之進階排序(堆排序與分治並歸排序)
進行 技術分享 ring http 沒有 oid 有序 重復 調整 春蠶到死絲方盡,蠟炬成灰淚始幹 ——無題 這裏介紹兩個比較難的算法: 1、堆排序 2、分治並歸排序 先說堆。 這裏請大家先自行了解完全二叉樹的數據結構。 堆是完全二叉樹。
JS入門基礎(if else 與 switch case / node安裝)
json health 案例 js文件 動作 require 步驟 *** 命令 在 JavaScript 中,為不同的決定來執行不同的動作,我們可使用以下條件語句: if 語句 - 只有當指定條件為 true 時,使用該語句來執行代碼 if...else 語句 - 當條