1. 程式人生 > >Python 標準庫 —— 郵件(email)與郵件伺服器(smtplib)

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 Librarypython 標準——介紹

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的arraypython標準中的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 語句 - 當條