使用Matlab发邮件

前沿

大家也可能遇到和我一样的问题,就是程序放在台式机上跑,人在上课或者干其他事情,不知道什么时候代码就跑崩了,直到去检查程序运行结果才发现,程序已经崩了,前面的时间都浪费了。为了避免这个问题,写一个Matlab给邮箱发邮件的程序,就可以实时掌握程序运行进程啦。不过,这个方法必须保证电脑连着网~

代码

注意代码段中的注释**的是需要修改为你自己的内容。用QQ邮箱与163邮箱发送的代码几乎一样,只是服务器网址需要改一下(代码中已注明)。

function mail2gm(testNum)
%功能:matlab发邮件
%输入testNum是指算例数,可以随意设置你需要的输入参数
sendMailAddress = '[email protected]';%**发件邮箱,或者11111111@qq.com
password = 'kkkkkkkkkk';  %**这里用明文写上你的邮箱密码,这里不是邮箱的原始密码,而是第三方客户端的专用密码(授权码)

setpref('Internet','E_mail',sendMailAddress);
setpref('Internet','SMTP_Server','smtp.163.com');%**SMTP服务器,本文发件邮箱是163邮箱,如果是qq邮箱,则是smtp.qq.com
setpref('Internet','SMTP_Username',sendMailAddress);
setpref('Internet','SMTP_Password',password);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');

%**发送邮件
subject = '来自胖子台式机的MATLAB程序';%邮件主题
a = '胖子,醒醒,你的第';
b = num2str(testNum);
c = '个算例跑完了,可以到实验室Check一下了!';
content = [a,b,c];%邮件内容
% content = '胖子,醒醒,你的程序跑完了,可以到实验室Check一下了!';
receiveMailAddress='[email protected]';%收件邮箱,或者22222222@163.com
sendmail(receiveMailAddress,subject,content);%给收件邮箱发送邮件
end

其中密码不是邮箱原始密码,是授权码,用于登陆第三方邮件客户端的专用密码(需开启设置POP3/SMTP/IMAP服务)。以163邮箱为例,如下图
在这里插入图片描述
在这里插入图片描述
可参照此链接设置授权码,https://jingyan.baidu.com/article/aa6a2c149f7b250d4c19c4b3.html.

结果展示

通过调用函数,mail2gm(2);可得到如下图的邮件:
在这里插入图片描述
其中输入参数可以随意设置成你需要的内容。

发布了8 篇原创文章 · 获赞 1 · 访问量 433

猜你喜欢

转载自blog.csdn.net/luzaijiaoxia0618/article/details/103226650