MATLAB: 用MATLAB发送邮件(以163邮箱为例) 您所在的位置:网站首页 网易邮箱独立密码是啥意思呀 MATLAB: 用MATLAB发送邮件(以163邮箱为例)

MATLAB: 用MATLAB发送邮件(以163邮箱为例)

2024-07-11 20:26| 来源: 网络整理| 查看: 265

MATLAB: 用MATLAB发送邮件(以163邮箱为例) 问题描述

有时我们运行一些耗时很长的程序,就让计算机自己跑,人走开了。这种情况下如果程序出错或者运行完毕,程序员不能及时获得通知。但是强大的MATLAB可以发送email,我们可以利用这个功能来提升开发体验。

邮箱设置

建议专门注册一个邮箱用于MATLAB发送邮件,方便和其他邮件区分,也比较安全。具体步骤如下:

注册一个邮箱,如[email protected];在网页端,开启SMTP服务,记录SMTP服务器地址,例如网易163邮箱的是smtp.163.com;在MATLAB中配置邮箱账户: % 账号设置 mail = '[email protected]'; % ①邮箱地址 password = 'abcdefg'; % ②密码 % 服务器设置 setpref('Internet','E_mail',mail); setpref('Internet','SMTP_Server','smtp.163.com'); % ③SMTP服务器 setpref('Internet','SMTP_Username',mail); 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');

也就是说,只有①②③三处需要改,其他都复制就行了。另外,需要注意的是,如果用163邮箱,那么代码中填写的密码不是原始密码,而是“客户端授权码”:

授权码是用于登录第三方邮件客户端的专用密码。 适用于登录以下服务: POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。

发送邮件

前面我们已经设置完毕,那么怎么发送邮件呢? 使用sendmai()函数。

% 举个例子,比如想把前面运行得到精确度数据发送给程序员 accuracy=0.888; % 收件人 receiver='[email protected]'; % 邮件标题 mailtitle='pattern recognition'; % 邮件内容 mailcontent=['mission compeleted! ',... 'accuracy=',num2str(accuracy)]; % 发送 sendmail(receiver, mailtitle, mailcontent);

收到的邮件: 邮件效果图

更进一步

那么既然这个功能我们要经常使用,总不能每次都重新设置吧?不如把这些代码封装起来,打包成一个函数:

function mailme(mailtitle,mailcontent) % 账号设置 mail = '[email protected]'; % ①邮箱地址 password = 'abcdefg'; % ②密码 % 服务器设置 setpref('Internet','E_mail',mail); setpref('Internet','SMTP_Server','smtp.163.com'); % ③SMTP服务器 setpref('Internet','SMTP_Username',mail); 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'); % 发送邮件 receiver='[email protected]'; % ④我的收件邮箱 sendmail(receiver,mailtitle,mailcontent); end

这样一来,需要发送邮件的时候,只要mailme(标题,内容)就行啦!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有