随笔 - 1762  文章 - 0  评论 - 109  阅读 - 431万

matlab程序运行完毕发邮件通知和短信通知

 参考链接1:如何让MATLAB在完成计算后通知你 - 知乎 (zhihu.com)

 参考链接2:Matlab 程序结束后发送短信或者邮件_weixin_33872566的博客-程序员信息网 - 程序员信息网 (i4k.xyz)

1.发邮件

如果感觉发送短信,太麻烦,需要注册之类的,可以选择发送邮件。像网易邮件,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?','见证奇迹的时刻到了'); 

  从此,再也不会有第二个人知道你这个函数里面的内容了.

 

示例:

复制代码
function mail2me(subject,content,attachments)
if ~exist('attachments','var')||isempty('attachments')
    attachments='1.txt'; % 当前文件夹内的文件,也可以写全路径
end
setpref('Internet','SMTP_Server','smtp.163.com');
setpref('Internet','E_mail','邮箱用户名');
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
setpref('Internet','SMTP_Username','邮箱用户名');
setpref('Internet','SMTP_Password','邮箱密码'); %这个密码可能不是登录邮箱的那个登录密码
sendmail('邮箱用户名',subject,content,attachments);
end
复制代码

2.发送短信

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

用基于SMS平台发送短信,非常简单,一句命令的事,可以直接加在代码的最后:

web http://utf8.sms.webchinese.cn/?Uid=本站用户名&Key=接口安全密码&smsMob=手机号码&smsText=短信内容

得先注册网建,然后按上面的修改就可以了。

 

posted on   一杯明月  阅读(476)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
历史上的今天:
2020-08-27 MATLAB中imfill()函数
2020-08-27 P7. class template, 类模板,模板类
2019-08-27 python中的assert
< 2025年3月 >
23 24 25 26 27 28 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 1 2 3 4 5

点击右上角即可分享
微信分享提示