天天看點

python常用子產品email----建立簡單的文本郵件并發送

email子產品可以友善的用來構造郵件,今天我們通過一個簡單的例子來實作文本郵件的構造的發送。

先将要發送的内容寫在檔案裡面:

cat /tmp/email_test.txt

hello there!

i love python!

編寫如下腳本:

<code>cat test.py</code>

<code>#!/usr/bin/python</code>

<code>#coding=utf-8</code>

<code>import</code> <code>smtplib</code>

<code>#構造郵件内容</code>

<code>from</code> <code>email.mime.text </code><code>import</code> <code>MIMEText</code>

<code>textfile</code><code>=</code><code>'/tmp/email_test.txt'</code>

<code>fp</code><code>=</code><code>open</code><code>(textfile,</code><code>'rb'</code><code>)</code>

<code>msg</code><code>=</code><code>MIMEText(fp.read())</code>

<code>fp.close()</code>

<code>from_addr</code><code>=</code><code>'[email protected]'</code>

<code>password</code><code>=</code><code>'xxxxxxxx'</code>

<code>smtp_server</code><code>=</code><code>'smtp.qq.com'</code>

<code>to_addr</code><code>=</code><code>'[email protected]'</code>

<code>#構造郵件頭</code>

<code>msg[</code><code>'Subject'</code><code>]</code><code>=</code><code>'the content of %s'</code><code>%</code> <code>textfile</code>

<code>msg[</code><code>'From'</code><code>]</code><code>=</code><code>from_addr</code>

<code>msg[</code><code>'To'</code><code>]</code><code>=</code><code>to_addr</code>

<code>s</code><code>=</code><code>smtplib.SMTP_SSL(smtp_server,</code><code>465</code><code>)</code>

<code>s.set_debuglevel(</code><code>1</code><code>)</code>

<code>s.login(from_addr,password)</code>

<code>s.sendmail(from_addr,[to_addr],msg.as_string())</code>

<code>s.quit()</code>

通過兩個兩個圖可以對比一下有郵件頭和沒有郵件頭的郵件的差別:

有郵件頭的郵件:

<a href="http://s5.51cto.com/wyfs02/M00/8A/3E/wKiom1grvO2wOqi8AAAXNal76O8743.png-wh_500x0-wm_3-wmp_4-s_1691005471.png" target="_blank"></a>

沒有郵件頭的郵件:

<a href="http://s5.51cto.com/wyfs02/M00/8A/3E/wKiom1grvO3BjC2MAAANptF-qr8094.png-wh_500x0-wm_3-wmp_4-s_1532298137.png" target="_blank"></a>

好了,一封簡單的文本郵件就這樣發送成功了。

本文轉自 emma_cql 51CTO部落格,原文連結:http://blog.51cto.com/chenql/1873342