使用matlab编程给qq或163邮箱等发邮件

平时在科研中经常会被导师要求使用matlab跑一些大程序,许多时候一个结果跑下来得花去好几个小时的时间,然后改改参数再继续跑,这样真的很让人不淡定啊,如果使用matlab编程让matlab跑出的让自己满意的结果通过邮件发到自己手机上是不是美滋滋呢。接下来介绍matlab跑出结果后自动给自己手机邮箱发邮件?


1. 开启qq邮箱的POP3/SMTP服务:

在电脑上打开qq邮箱,在主界面点设置
使用matlab编程给qq或163邮箱等发邮件_第1张图片

然后点账户
使用matlab编程给qq或163邮箱等发邮件_第2张图片

往下拉,你就会看见下面这幅图所示的这几个服务,默认是关闭的,我这里已经把他们开启了,点击开启之后,你会得到一个授权码,这个授权码很重要,待会儿会用到,最好截图将它保存起来。
使用matlab编程给qq或163邮箱等发邮件_第3张图片
然后点击左下角的保存更改,这一步便完成了。

2. 使用matlab编程实现给自己qq邮箱发邮件
matlab中的sendmail函数是实现发邮件功能的,不过前提得设置一些东西,我把这些东西打包成了一个函数mailTome,主要设置和功能见下面代码:

function mailTome(subject,content)
MailAddress = '[email protected]';%在这里输入你的qq邮箱
password = 'xxxxxxx';  %在这里输入你之前得到的授权码,注意是授权码,不是你的qq邮箱登录密码!
setpref('Internet','E_mail',MailAddress);
setpref('Internet','SMTP_Server','smtp.qq.com');%这里是smtp.qq.com
setpref('Internet','SMTP_Username',MailAddress);
setpref('Internet','SMTP_Password',password);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl.SSLSocketFactory');
props.setProperty('mail.smtp.socketFactory.port','465');
sendmail(MailAddress,subject,content);
end

以上除了注释行需要修改外其他保持默认。然后在命令行窗口输入以下测试代码测试:

subject = '程序结果已出';
content = '程序已经跑完了,你可以到实验室看看了!';
mailTome(subject,content); %调用函数发邮件

然后不出意外的话你的qq邮箱就会收到你发的邮件了:
使用matlab编程给qq或163邮箱等发邮件_第4张图片

(不得不说使用matlab给qq发邮件,有时候不知道怎么回事,会出现错误,遇到这种情况等等再发,或者将matlab重启就好了,我也不知道是咋回事)

3. 使用matlab编程实现给自己163邮箱发邮件
接着我们实现用matlab给我们的163邮箱发邮件,和qq类似,也有一些不同,见如下代码:

function mailTome(subject,content)
MailAddress = '[email protected]';%在这里输入你的163邮箱
password = 'xxxxxxx';  %在这里输入你的163邮箱登录密码即可,记住是登录密码,不是授权码!
setpref('Internet','E_mail',MailAddress);
setpref('Internet','SMTP_Server','smtp.163.com');%这里是smtp.163.com
setpref('Internet','SMTP_Username',MailAddress);
setpref('Internet','SMTP_Password',password);
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
props.setProperty('mail.smtp.socketFactory.class', 'javax.net.ssl.SSLSocketFactory');
props.setProperty('mail.smtp.socketFactory.port','465');
sendmail(MailAddress,subject,content);
end

以上除了注释行需要修改外其他保持默认。然后在命令行窗口输入以下测试代码测试:

subject = '程序结果已出';
content = '程序已经跑完了,你可以到实验室看看了!';
mailTome(subject,content); %调用函数发邮件

然后和qq类似不出意外的话你的163邮箱就会收到你发的邮件了:
使用matlab编程给qq或163邮箱等发邮件_第5张图片

你可能感兴趣的:(matlab)