IBM supervessel power云平台 之 send mail 篇

声明 : 此文档只做学习交流使用,请勿用作其他商业用途

author : 朝阳_tony

E-mail : [email protected]

Create Date: 2015-3-9 22:55:43 Monday

Last Change: 2015-3-9 22:55:52 Monday

转载请注明出处:http://blog.csdn.net/linzhaolover

摘要:

朝弟,咱们今天有个新的任务,在你的机器上运行一个测试实例,然后将结果通过mail发送到我的邮箱,方便后期查阅!先通过文本模式发送,后期改为html格式的,增加美观。

程序运行平台

IBM supervessel power云平台 https://ptopenlab.com/cloudlab/index.html

测试获取ifconfig信息

opuser@gto:~/Smail$ ifconfig >  ifconfig_info.txt
opuser@gto:~/Smail$ cat ifconfig_info.txt
eth0      Link encap:Ethernet  HWaddr fa:16:3e:2f:e6:63
          inet addr:10.10.1.29  Bcast:10.10.1.255  Mask:255.255.255.0
          inet6 addr: fe80::f816:3eff:fe2f:e663/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1454  Metric:1
          RX packets:33241 errors:0 dropped:0 overruns:0 frame:0
          TX packets:19081 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7482632 (7.4 MB)  TX bytes:4848283 (4.8 MB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:954 (954.0 B)  TX bytes:954 (954.0 B)

测试结果有了,那么接下来就是要将结果发送到我的mail中去

#!/usr/bin/env python
# -*- coding:UTF-8 -*-
import sys, os, string, time
import smtplib,base64, StringIO
from email.MIMEMultipart import MIMEMultipart
from email.MIMEText import MIMEText
from email.Utils import COMMASPACE, formatdate
from email import Encoders
def send_mail(send_from, send_to,subject, text,
          server="localhost", user = None, password = None):
    assert type(send_to)==list
    msg = MIMEMultipart()
    msg[‘From‘] = send_from
    msg[‘To‘] = COMMASPACE.join(send_to)
    msg[‘Date‘] = formatdate(localtime=True)
    msg[‘Subject‘] = subject
    msg.attach( MIMEText(text) )

    try:
        #smtp = smtplib.SMTP(server)
        smtp = smtplib.SMTP_SSL(server)
        if (user != None):
          smtp.ehlo()
          smtp_userid64 = base64.encodestring(user)
          smtp.docmd("auth", "login " + smtp_userid64[:-1])
          if password != None:
            smtp_pass64 = base64.encodestring(password)
            smtp.docmd(smtp_pass64[:-1])

        smtp.sendmail(send_from, send_to, msg.as_string())
        smtp.quit()
        print "Send Ok"
    except Exception as e:
        print "send maill error", e

### set mail server config
### 465 is open ssl port
mail_server=‘smtp.163.com:465‘
CODEC = ‘utf-8‘
mail_subject=‘Test result report mail‘

### read test result information, add to mail , use ‘utf-8‘ encoder
text=‘This is my first mail , for ifconfig infomations!‘
fp=open(‘ifconfig_info.txt‘,‘r‘)
text=text+‘\n‘+fp.read()
mailtext=text.decode(CODEC)
fp.close()

mail_from=‘[email protected]‘
user=‘myaccount‘
passwd=‘mypassword‘
send_to=[‘[email protected]‘]

send_mail(mail_from, send_to, mail_subject, mailtext,
          mail_server,user ,passwd )
print ‘Done‘

注意: 465是mail服务器的加密端口,通常使用这个相对安全一些,当然你也可以更换为非加密端口25, 但这时要用smtp = smtplib.SMTP(server) 注释掉下面那加密那行#smtp = smtplib.SMTP_SSL(server)。

mail内容是通过read直接读取的文件内容,然后通过utf-8编码发送的邮件内容, 后期会考虑修改为html格式,会更加的美观一些,

run demo

opuser@gto:~/Smail$ python Smail.py
Send Ok
Done

有图有真相

总结: 老板收邮件

时间: 2024-10-06 02:45:30

IBM supervessel power云平台 之 send mail 篇的相关文章

IBM supervessel power云平台 之 crontab定时任务篇

声明 : 此文档只做学习交流使用,请勿用作其他商业用途 author : 朝阳_tony E-mail : [email protected] Create Date: 2015-3-10 23:09:52 Tuesday Last Change: 2015-3-11 00:02:37 Wednesday 转载请注明出处:http://blog.csdn.net/linzhaolover 摘要 朝弟,为了测试网络性能,我们需要每个小时测试一次,然后是将测试数据保存下来下来,回头分析一下 程序测试

IBM supervessel power云平台 之 俄罗斯方块 游戏篇

声明:此文档只做学习交流使用,请勿用作其他商业用途 author:朝阳_tony E-mail : [email protected] Create Date: 2015-3-8 17:01:37 Sunday Last Change: 2015-3-8 18:02:02 Sunday 转载请注明出处:http://blog.csdn.net/linzhaolover 摘要: 俄罗斯方块,想起小时候,花10块钱,去小卖部买了个手持电子游戏机,白天玩,晚上玩,上厕所都带着,就跟现在玩手机差不多,后

IBM supervessel power云平台 之 linux系统下VPN 登录篇

声明:此文档只做学习交流使用,请勿用作其他商业用途 author:朝阳_tony E-mail : [email protected] Create Date: 2015-3-8 16:00:02 Sunday Last Change: 2015-3-8 16:28:08 Sunday 转载请注明出处:http://blog.csdn.net/linzhaolover 摘要 好不容易找到一个免费的基于power架构的云平台,还是有很多不方便使用的地方,下面咱就说一说怎么通过VPN登录到 IBM

【VMCloud云平台】SCVMM进阶篇(一)网络虚拟化(2)

上一篇,我们讲了下最基本的SDN,就是使用CA地址的客户端如何去访问外部的网络?网络虚拟化里是否有类似"VLAN虚拟网关"的概念?还有PA跟CA到底之间具体的联系是如何实现的? 本篇涉及的网络架构由于是SCVMM进阶篇,就把SCVMM部分单独拿出来扩展,随着SCVMM进阶篇的推进,将会不断更新SCVMM架构图,图中Red.Blue两朵云分别代表租户的两个网络,Host-GW是用来做VMM网关(IP地址设置为23): 1. 上一篇中,我们创建了SC_NetWork作为主机间通信的&quo

【VMCloud云平台】SCVMM进阶篇(一)网络虚拟化(1)

SCVMM基础篇已经告一段落了,今天咱们开始SCVMM进阶篇中的第一篇网络虚拟化,其实这个是博主最不想提的一个点,因为实在很难理解,如果对虚拟化没有一个大概的概念的话,完全不清楚网络虚拟化在虚拟化中以及云计算中的一个地位是怎么样的. 放眼当下,虚拟化技术已经不仅仅局限于服务器,基于服务器下的各种概念都可以被"虚拟化",软件定义网络(SDN)就是一个,而网络虚拟化就是SDN中的一种体现. 将现有网络通过微软提供的虚拟化技术加上NVGRE标签封装,使得不同租户之间使用相同IP也不会造成冲突

【VMCloud云平台】SCOM进阶篇-全球监视器

不知道大家是否有这样的需求,一个URL我不仅仅想从内部去做监控(内网环境),我还想从外部去监控.这样的需求通常会在内网建立一个有外网IP的机器作为监控点然后限制机器内网访问去实现.OK,今天来讲讲SCOM端对端监控中的另外一个利器,全球监控器(Global Service Monitor),通过这个玩意儿可以实现从外部进行监控,按照微软的说法,内部代理方式加全球监视器称之为"360°"的监控.架构如下图: 1. 首先登录(或注册试用,试用期为90天)到Commerce中心(URL:ht

Node.js中REST API使用示例——基于云平台+云服务打造自己的在线翻译工具

做为一个程序员可能在学习技术,了解行业新动态,解决问题时经常需要阅读英文的内容:而像我这样的英文小白就只能借助翻译工具才能理解个大概:不禁经常感慨,英文对学习计算机相关知识太重要了!最近发现IBM的云平台Blumemix,并且提供语言翻译的服务,感觉不错,就拿来研究学习一下:这里就分享一下我的研究学习过程,如何使用Node.js调用REST API打造自己的在线翻译工具,并演示如何把它发布到云平台上,让每个人都可以通过网络访问使用它. 应用效果展示 您可以通过点击效果图片的链接访问它. 构建一个

在云平台上基于Go语言+Google图表API提供二维码生成应用

二维码能够说已经深深的融入了我们的生活其中.到处可见它的身影:但通常我们都是去扫二维码, 曾经我们分享给朋友一个网址直接把Url发过去,如今我们能够把自己的信息生成二维码再分享给他人. 这里就分享一下基于Go语言+Google图表API提供二维码生成功能的小应用,并演示怎样把它公布到云平台上, 让每一个人都能够通过网络訪问使用它. Google图表API Google在http://chart.apis.google.com 上提供了一个将表单数据自己主动转换为图表的服务. 只是,该服务非常难交

Python Web中REST API使用示例——基于云平台+云服务打造自己的在线翻译工具

做为一个程序员可能在学习技术,了解行业新动态,解决问题时经常需要阅读英文的内容:而像我这样的英文小白就只能借助翻译工具才能理解个大概:不禁经常感慨,英文对学习计算机相关知识太重要了!最近发现IBM的云平台Blumemix,并且提供语言翻译的服务,感觉不错,就拿来研究学习一下:这里就分享一下我的研究学习过程,如何使用Python调用REST API打造自己的在线翻译工具,并演示如何把它发布到云平台上,让每个人都可以通过网络访问使用它. 应用效果展示 您可以通过点击效果图片的链接访问它. 构建一个类