Matlab 程序结束后发送短信或者邮件

近期,在服务器上运行matlab程序,因为数据比较多,程序比较复杂,运行时间不固定,并且须要常常改变参数,重复运行几回,因此不清楚程序什么时候结束,以便于修改参数,继续运行。开始有时间就看看程序是否运行结束,次数多了后,就感受分心,很不方便。html

为了在第一时间知道程序运行结束,就想到了让matlab在运行结束后,马上通知我,这样就方便我马上修改参数,继续运行。通过思考,百度或者google,尝试,这里介绍两种可行的方法:发送短信和发送有邮件。java

1. 发送短信

因为之前有过在电脑上向手机发送短信的编程实现,因此在回顾本身的文章《 C#简单实现发送手机短信 》,再结合matlab中web的使用,实现了用中国网建提供的SMS短信平台发送短信,就像我在本身文章提到的同样,用完几条免费的后,就要收费了。(顺便提一句,网上找到用开放飞信平台的API发送的,可是如今好像不能用了,不知道Why。)程序员

用基于SMS平台发送短信,很是简单,一句命令的事,能够直接加在代码的最后:web

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的都知道吧。 

  为了之后方便使用,能够包装成一个函数:post

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这个函数以后,只要在程序后面加上一句相似的: google

mailTome('Program Over','**** Program has finished');

真的没有问题了么?程序员的思想老是接近完备的。 
函数中存在我的隐私(手机号码和密码),若是被人看到而后用来捉弄你就很差了。 MATLAB也是完备的,她提供了一种很好的内容保护机制: protected-code。  
Command Window 键入: 

pcode mailTome 

  而后删除mail2me.m。在此以后,再次输入: 

mailTome('Is OK?','见证奇迹的时刻到了'); 

  今后,不再会有第二我的知道你这个函数里面的内容了.

第二种方法来自于网上的查找。

相关文章
相关标签/搜索