Matlab 程序结束后发送短信或者邮件
近期,在服务器上运行matlab程序,由于数据比较多,程序比较复杂,运行时间不固定,而且需要经常改变参数,重复运行几次,所以不清楚程序何时结束,以便于修改参数,继续运行。开始有时间就看看程序是否运行结束,次数多了后,就感觉分心,很不方便。
为了在第一时间知道程序运行结束,就想到了让matlab在运行结束后,立刻通知我,这样就方便我立刻修改参数,继续运行。经过思考,百度或者google,尝试,这里介绍两种可行的方法:发送短信和发送有邮件。
1. 发送短信
由于以前有过在电脑上向手机发送短信的编程实现,所以在回顾自己的文章《 C#简单实现发送手机短信 》,再结合matlab中web的使用,实现了用中国网建提供的SMS短信平台发送短信,就像我在自己文章提到的一样,用完几条免费的后,就要收费了。(顺便提一句,网上找到用开放飞信平台的API发送的,但是现在好像不能用了,不知道Why。)
用基于SMS平台发送短信,非常简单,一句命令的事,可以直接加在代码的最后:
web http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容
得先注册网建,然后按上面的修改就可以了。
2. 发送邮件
如果感觉发送短信,太麻烦,需要注册之类的,可以选择发送邮件。像网易邮件,gmail邮件等,都可以。
在使用邮件之前,首先要设置邮箱,开启stmp和pop3服务器。例如下列图片:

然后,在matlab命令窗口(command window),输入: doc sendmail,函数介绍如下:
MailAddress = 'XXXXXXXX@126.com';%手机邮箱地址
password = 'XXXX'; %密码
setpref('Internet','E_mail',MailAddress);%照抄吧
setpref('Internet','SMTP_Server','smtp.126.com');%SMTP服务器
setpref('Internet','SMTP_Username',MailAddress);%照抄
setpref('Internet','SMTP_Password',password);%照抄
props = java.lang.System.getProperties;%照抄
props.setProperty('mail.smtp.auth','true');%照抄
sendmail(MailAddress,subject,content);%提醒的是自己,直接用自己的手机邮箱
subject和content就是邮件的主题和内容,发过E-mail的都知道吧。
为了以后方便使用,可以包装成一个函数:
function mailTome(subject,content)
MailAddress = 'XXXXXX@126.com';
password = 'X';
setpref('Internet','E_mail',MailAddress);
setpref('Internet','SMTP_Server','smtp.126.com');
setpref('Internet','SMTP_Username',MailAddress);
setpref('Internet','SMTP_Password',password);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
sendmail('X',subject,content);
end
得到mail2me这个函数之后,只要在程序后面加上一句类似的:
mailTome('Program Over','**** Program has finished');
真的没有问题了么?程序员的思想总是接近完备的。 
函数中存在个人隐私(手机号码和密码),如果被人看到然后用来捉弄你就不好了。 MATLAB也是完备的,她提供了一种很好的内容保护机制: protected-code。  
Command Window 键入:
pcode mailTome
然后删除mail2me.m。在此之后,再次输入:
mailTome('Is OK?','见证奇迹的时刻到了');
从此,再也不会有第二个人知道你这个函数里面的内容了.
第二种方法来自于网上的查找。
Matlab 程序结束后发送短信或者邮件的更多相关文章
- 如何使用微信小程序云函数发送短信验证码
		
其实微信小程序前端和云端都是可以调用短信平台接口发送短信的,使用云端云函数的好处是无需配置域名,也没有个数限制. 本文使用的是榛子云短信平台(http://smsow.zhenzikj.com) ,S ...
 - iOS调用系统发送短信和邮件分享
		
//发送邮件 -(void)sendMail:(NSString*)subject content:(NSString*)content{ MFMailComposeViewController*co ...
 - php批量发送短信或邮件的方案
		
最近遇到在开发中遇到一个场景,后台管理员批量审核用户时候,需要给用户发送审核通过信息,有人可能会想到用foreach循环发送,一般的短信接口都有调用频率,循环发送,肯定会导致部分信息发送失败,有人说用 ...
 - 微信小程序如何发送短信验证码,无需搭建服务器
		
自从微信小程序提供云开发支持,开发者无需搭建后台服务器,使用微信提供的核心API就可以实现应用功能,此时就需要小程序能够自己发送短信,比如短信验证码,榛子云短信(http://smsow.zhenzi ...
 - C# Ajax 手机发送短信验证码 校验验证码 菜鸟级别实现方法
		
1.Ajax请求处理页面: using System; using System.Collections.Generic; using System.Linq; using System.Web; u ...
 - IOS中调用系统的电话、短信、邮件、浏览功能
		
iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...
 - iOS学习笔记28-系统服务(一)短信和邮件
		
一.系统应用 在开发某些应用时,我们可能希望能够调用iOS系统内置的电话.短信.邮件.浏览器应用,或者直接调用安装的第三方应用,这个要怎么实现呢? 这里统一使用UIApplication的一个对象方法 ...
 - sqlalchemy中使用event设置条件触发短信与邮件通知
		
一.原因 近期在做短信与邮件通知系统.使用到了这一块.例如,当订单完成以后进行邮件短信的通知.虽然可以采用直接调用接口的方式实现,但有几个原因让我希望使用条件触发的方式 1.由于系统中支持线上线下以及 ...
 - 【SSH网上商城项目实战26】完成订单支付后的短信发送功能
		
转自: https://blog.csdn.net/eson_15/article/details/51475431 上一节我们使用了Java mail完成了给买家发送邮件的功能,还遗留一个功能,就 ...
 
随机推荐
- Paint的基本使用
			
代码地址如下:http://www.demodashi.com/demo/14712.html 前言 在讲述自定义控件的时候,我们讲到了自定义控件的基本步骤,那么在自定义控件中,我们第一个需要了解的就 ...
 - Linux桌面“彩”起来:桌面环境及窗口管理器大盘点
			
2011-02-22 11:49:50 看到这个标题,很多人一定认为桌面环境和窗口管理器是一回事,但严格来说窗口管理器和桌面环境是有区别的.桌面环境(Desktop Environments)是最 ...
 - eclipse的jdk版本和spring冲突问题WARN XmlWebApplicationContext:1060 - Exception thrown from LifecycleProcessor on context close
			
项目环境: jdk1.8 tomcat7 问题:eclipse启动tomcat后控制台报如下错误: WARN XmlWebApplicationContext:1060 - Exception thr ...
 - UCCI协议[转]
			
象棋百科全书 中国象棋电脑应用规范(五) 中国象棋通用引擎协议 版本:3.0 象棋百科全书网 (webmaster@xqbase.com) 2004年12月初稿,2007年11月修订 一.概述 中国象 ...
 - Apache Rewrite规则详解[转]
			
1.Rewrite规则简介:Rewirte主要的功能就是实现URL的跳转,它的正则表达式是基于Perl语言.可基于服务器级的(httpd.conf)和目录级的(.htaccess)两种方式.如果要想用 ...
 - 给定数组a[1,2,3],用a里面的元素来生成一个长度为5的数组,打印出其排列组合
			
给定数组a[1,2,3],用a里面的元素来生成一个长度为5的数组,打印出其排列组合 ruby代码: def all_possible_arr arr, length = 5 ret = [] leng ...
 - mysql insert if not exists防止插入重复记录的方法(转)
			
MySQL 当记录不存在时插入(insert if not exists) 在 MySQL 中,插入(insert)一条记录很简单,但是一些特殊应用,在插入记录前,需要检查这条记录是否已经存在,只有当 ...
 - Sketch 使用中文字体
			
对于刚接触 Sketch 的人来说,在找字体方面,可能不是那么顺手.之前用 RightFont,后来收费了.. 今天介绍个只有长得好看的人才能发现的功能.无需插件即可选择中文字体. 不信,你看: Sk ...
 - 更改jdk后,eclipse运行jsp出错
			
1.错误: 在Eclipse下启动tomcat的时候,报错为:Eclipse下启动tomcat报错:The archive: C:/Program Files(x86)/Java/jdk1.7.0_1 ...
 - [转]利用Docker构建开发环境
			
利用Docker构建开发环境 Posted by makewonder on 2014 年 4 月 2 日 最近接触PAAS相关的知识,在研发过程中开始使用Docker搭建了自己完整的开发环境, ...