附上python郵件發送腳本(對于發送測試郵件不成功的情況可以看下debug中的錯誤代碼提示,如(554, DT:SPM)一般情況是發送的郵件被視為垃圾郵件和病毒郵件,需要調整發件内容):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<code>#!/usr/bin/python </code>
<code># -*- coding: utf-8 -*-</code>
<code>#python-version:2.7</code>
<code>from</code> <code>email </code><code>import</code> <code>encoders</code>
<code>from</code> <code>email.header </code><code>import</code> <code>Header</code>
<code>from</code> <code>email.mime.text </code><code>import</code> <code>MIMEText</code>
<code>from</code> <code>email.utils </code><code>import</code> <code>parseaddr, formataddr</code>
<code>import</code> <code>smtplib</code>
<code>import</code> <code>sys</code>
<code>def</code> <code>send_mail(_to_email,_subject,_message):</code>
<code> </code><code>from_addr </code><code>=</code> <code>"[email protected]"</code>
<code> </code><code>password </code><code>=</code> <code>"your_password"</code>
<code> </code><code>smtp_server </code><code>=</code> <code>"smtp.163.com"</code>
<code> </code><code>msg </code><code>=</code> <code>MIMEText(_message, </code><code>'plain'</code><code>, </code><code>'utf-8'</code><code>)</code>
<code> </code><code>msg[</code><code>'Subject'</code><code>] </code><code>=</code> <code>_subject</code>
<code> </code><code>server </code><code>=</code> <code>smtplib.SMTP(smtp_server, </code><code>25</code><code>)</code>
<code> </code><code># 使用SSL加密傳輸</code>
<code> </code><code>#server = smtplib.SMTP_SSL(smtp_host,994) </code>
<code> </code><code># 對發送過程開啟調試模式</code>
<code> </code><code>server.set_debuglevel(</code><code>1</code><code>) </code>
<code> </code><code>server.login(from_addr, password)</code>
<code> </code><code>server.sendmail(from_addr, [_to_email], msg.as_string())</code>
<code> </code><code>server.quit()</code>
<code>if</code> <code>__name__</code><code>=</code><code>=</code><code>'__main__'</code><code>:</code>
<code> </code><code>send_mail(sys.argv[</code><code>1</code><code>],sys.argv[</code><code>2</code><code>],sys.argv[</code><code>3</code><code>])</code>
使用shell 借助mailx 發送郵件腳本, 需要安裝dos2unix:
<code>yum </code><code>install</code> <code>mailx dos2unix -y</code>
<code>#!/bin/bash</code>
<code>to=$1</code>
<code>subject=$2</code>
<code>body=$3</code>
<code>echo</code> <code>"$body"</code> <code>></code><code>/tmp/zabbix_mail</code><code>.log</code>
<code>dos2unix </code><code>/tmp/zabbix_mail</code><code>.log</code>
<code>mail -s </code><code>"$subject"</code> <code>"$to"</code> <code>< </code><code>/tmp/zabbix_mail</code><code>.log</code>
<code>#cat <<EOF | mail -s "$subject" "$to" </code>
<code>#$body</code>
<code>#EOF</code>
<code>echo</code> <code>"==================="</code> <code>>> </code><code>/tmp/zabbix_mail</code><code>.log</code>
使用mail 指令發送郵件還需要配置/etc/mail.rc 檔案,在最後添加郵箱伺服器資訊:
<code>set</code> <code>[email protected]</code>
<code>set</code> <code>smtp=smtp.126.com</code>
<code>set</code> <code>[email protected]</code>
<code>set</code> <code>smtp-auth-password=password</code>
<code>set</code> <code>smtp-auth=login</code>
本文轉自 酥心糖 51CTO部落格,原文連結:http://blog.51cto.com/tryingstuff/1923962