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?','見證奇蹟的時刻到了'); 

  今後,不再會有第二我的知道你這個函數裏面的內容了.

第二種方法來自於網上的查找。

相關文章
相關標籤/搜索