发送html格式的邮件(shell+python)

简介:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
我的博客已迁移到xdoujiang.com请去那边和我交流
一、基础环境
1、版本
cat  /etc/debian_version 
7.8
 
2、内核
uname  -r
3.2.0-4-amd64
 
3、ip(eth0)
10.1.10.185
 
4、具体日志
cat  3.log
aaa     10-29_10:30     29629395      test
bbb     10-29_10:36     180035        test
ccc     10-29_10:37     180035        test
ddd     10-29_10:37     580495        test
eee     10-29_10:37     580495        test
fff     10-29_10:46     180035        test
ggg     10-29_10:46     180035        test
 
5、mutt使用是发到163的 python的是在公司使用的
 
6、使用的python版本是2.7
 
二、具体代码
cat  mailsend.sh 
#!/bin/bash
#--------------------------------------------------
#Author:jimmygong
#Email:jimmygong@taomee.com
#FileName:mailsend.sh
#Function: 
#Version:1.0 
#Created:2015-10-30
#--------------------------------------------------
sendip= "10.1.10.185"
maillog= "/root/3.log"
mailbox= "11111111@163.com"
function  handlemail ()
{
     sed  -i -e  '1i\title1\ttitle2\ttitle3\tdtitle4'  $maillog
     sed  -i -e  's/^/<tr><td>/'  -e  's/\s\+/<\/td><td>/'  -e  's/\s\+/<\/td><td>/'  -e  's/\s\+/<\/td><td>/'  -e  's/$/<\/td><\/tr>/'  $maillog
     sed  -i -e  '1i\<table>'  -e  '$a\</table>'  $maillog
     sed  -i -e  '1i\<style type="text\/css">table,td,th{border:1px solid black;}<\/style>'  $maillog
     /usr/local/mutt/bin/mutt  -s  "aaa $sendip"  -e  'set content_type="text/html"'  $mailbox < $maillog
     #python mailsend.py $maillog "aaa $sendip"
}
handlemail
exit  0
 
PS:
1、如果使用mutt的话 那么请先参考以下链接安装
http: //7938217 .blog.51cto.com /7928217/1641803
2、如果使用python的话 那么使用以下python代码
1
cat  mailsend.py
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#!/usr/bin/python
# -*- coding: utf-8 -*-
#--------------------------------------------------
#Author:jimmygong
#Email:jimmygong@taomee.com
#FileName:mailsend.py
#Function: 
#Version:1.0 
#Created:2015-10-30
#--------------------------------------------------
import  sys
import  smtplib 
from  email  import  encoders
from  email.mime.base  import  MIMEBase
from  email.mime.text  import  MIMEText
from  email.utils  import  COMMASPACE
from  email.mime.multipart  import  MIMEMultipart
def  send_mail(fro,to,subject,text,txttype = 'html' ,files = []): 
     msg  =  MIMEMultipart() 
     msg[ 'From' =  fro 
     msg[ 'Subject' =  subject 
     msg[ 'To' =  COMMASPACE.join(to) 
     if  txttype = = "html" :
             msg.attach(MIMEText(text, 'html' )) 
     else :
             msg.attach(MIMEText(text)) 
     for  file  in  files: 
         part  =  MIMEBase( 'application' 'octet-stream' )
         part.set_payload( open ( file 'r' ).read()) 
         encoders.encode_base64(part) 
         part.add_header( 'Content-Disposition' 'attachment; filename="%s"'  %  os.path.basename( file )) 
         msg.attach(part) 
     =  smtplib.SMTP()
     s.connect( 'mail.shidc.taomee.com' )
     s.sendmail(fro,to,msg.as_string()) 
     s.quit()
if  __name__ = = '__main__' :
         fro = 'ops@taomee.com'
         to = [ 'jimmygong@taomee.com' ,]
         subject = sys.argv[ 2 ]
         with  open (sys.argv[ 1 ], "r" ) as f:
             text = f.read()
         txttype = 'html'
         files = []
         send_mail(fro,to,subject,text,txttype,files)
1
2
3
4
3、一些说明        
sys.argv[]是用来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从1开始.        
         
三、效果

wKiom1Yzg9mDKHnvAAGd2JNm49A050.jpg










本文转自 xdoujiang 51CTO博客,原文链接:http://blog.51cto.com/7938217/1708228,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
XML 前端开发 数据格式
BeautifulSoup 是一个 Python 库,用于从 HTML 和 XML 文件中提取数据
BeautifulSoup 是 Python 的一个库,用于解析 HTML 和 XML 文件,即使在格式不规范的情况下也能有效工作。通过创建 BeautifulSoup 对象并使用方法如 find_all 和 get,可以方便地提取和查找文档中的信息。以下是一段示例代码,展示如何安装库、解析 HTML 数据以及打印段落、链接和特定类名的元素。BeautifulSoup 还支持更复杂的查询和文档修改功能。
7 1
|
3天前
|
前端开发 文件存储 Python
python之xhtml2pdf: HTML转PDF工具示例详解
python之xhtml2pdf: HTML转PDF工具示例详解
7 0
|
3天前
|
数据采集 数据挖掘 Python
Python之html2text: 将HTML转换为Markdown 文档示例详解
Python之html2text: 将HTML转换为Markdown 文档示例详解
5 0
|
3天前
|
数据采集 Python
Python HTML解析详解
Python HTML解析详解
6 0
|
5天前
|
存储 监控 Python
python 日期字符串转换为指定格式的日期
python 日期字符串转换为指定格式的日期
14 3
|
5天前
|
JSON 安全 前端开发
解析FormData格式数据:Python实践指南
解析FormData格式数据:Python实践指南
13 1
|
11天前
|
数据挖掘 数据处理 Python
【亮剑】介绍了Python中以表格格式打印列表的三种方法
【4月更文挑战第30天】本文介绍了Python中以表格格式打印列表的三种方法:1) 使用字符串格式化,适用于简单场景;2) 使用prettytable库,适合需要更多格式化选项的情况;3) 使用pandas库,适用于处理大量数据和复杂分析。根据需求选择合适的方法来展示数据。
|
16天前
|
JSON JavaScript 数据格式
python遍历目录文件_结合vue获取所有的html文件并且展示
python遍历目录文件_结合vue获取所有的html文件并且展示
9 0
|
17天前
|
运维 Shell Linux
第十四章 Python发送邮件(常见四种邮件内容)
第十四章 Python发送邮件(常见四种邮件内容)
|
18天前
|
监控 Python
Python监控主机是否存活,并发报警邮件
Python监控主机是否存活,并发报警邮件