附上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