背景:

有时候在实验室,通过MATLAB做一个计算或者仿真,需要花比较长的时间,比如十几个小时甚至几天。我们希望MATLAB跑完后,我们能够得到通知,或者能够了解到结果。 这个时候,可以设置在MATLAB跑完后,给我们发个邮件,并且把一些计算结果当做附件给我们发过来。如果手机绑定了邮箱,我们就可以立刻知道跑完了,并且大致了解结果。

一个小Demo

我做了一个小的demo来实现以上的需求。这个demo在MATLAB 2018b上做的,邮件发送使用的网易126邮箱。

demo功能介绍

在Simulink中建立了一个简单的模型(没有什么实际意义,仅仅用于展示)代表我们要做仿真计算的任务。 当这个仿真运行完成后,向我的邮箱发送一封邮件,把仿真结果作为正文内容发过来,附件为仿真结果的一张图形。 假设我的邮件地址为 whoispo@126.com ,当然这是一个假的地址 ?

准备工作

为了发邮件,我们需要上我们的126邮箱,对其进行一定的设置,才能让MATLAB把我们的邮件发送出去。虽然我只是以126为例,但是其他邮箱应该也有类似的设置方法。

  1. 开启SMTP服务
    在126邮箱中有一个【设置】选项

    选择其中的【POP3/SMTP/IMAP】

    然后选中 【POP3/SMTP服务】和【IMAP/SMTP】服务

    记住这里的smtp地址,待会会用到

然后开启客户端授权密码,这个密码可以设置成与邮箱的密码不一样,主要用于像这种代发代收的客户端的,设置成不一样更加安全。通过MATLAB发送邮件,其实可以认为MATLAB也是一个客户端。


以上,就把邮箱的设置弄完了

Simulink模型

从一个正态分布生成器中产生数据,将数据的最大、最小值导出到maxValue, minValue,并且所有数据导出到value, 时间序列导出到time。

仿真脚本

sim('simple_model');plot(time, value);rlt_str = sprintf('Max=%.2f\nMin=%.2f\n', maxValue, minValue);
rlt_file = 'rlt.jpg';
saveas(gcf, rlt_file);
mail_rlt('Simulation Result', rlt_str, rlt_file);

其中的mail_rlt函数的代码如下

function mail_rlt(mailtitle,mailcontent,attached_file)receiver='tutor@mail.tsinghua.edu.cn';     % 对方的邮件地址sender = 'whoispo@126.com';    % 本人邮箱地址password = '123456';                               % 授权密码非登录密码smtp_addr = 'smtp.126.com'                    %smtp服务器地址,可以从邮箱配置中查到% 服务器设置setpref('Internet','E_mail',sender);setpref('Internet','SMTP_Server',smtp_addr); setpref('Internet','SMTP_Username',sender);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({sender, receiver},mailtitle,mailcontent, attached_file);   %为了避免126将此邮件识别为垃圾邮件(报错554 DT:SPM)发不出去fprintf('Send Successful\n');
end

这里要注意的一个地方,就是在发送时要把自己的邮件地址也放到收件人列表中,这样做可以避免网易邮箱把这封邮件误认为是垃圾邮件,从而拒绝,发不出去。

通过Matlab发送邮件要注意的问题相关推荐

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

    MATLAB: 用MATLAB发送邮件(以163邮箱为例) 问题描述 有时我们运行一些耗时很长的程序,就让计算机自己跑,人走开了.这种情况下如果程序出错或者运行完毕,程序员不能及时获得通知.但是强大的 ...

  2. 如何用matlab自动发邮件,用matlab发送邮件

    这个还是有点用的,当我们的程序比较大,运行耗时,而我们又有其他事没法在电脑前候着.这个时候我们就可以将计算出来的结果发送到我们的邮箱上. matlab中的sendmail函数可以帮助我们实现这个功能 ...

  3. matlab imdilate_MATLAB自动发送邮件

    ❝ 欢迎关注「工科男的Maltab学习日志」,采用Mardown文本编辑器编写文章,全新排版升级,内容.代码更简洁,同时开通了视频号,「工科男的日常」欢迎大家关注. --工科男 ❞ 1利用MATLAB ...

  4. MATLAB 运行完电脑自动关机

    有时候程序运行很久,需要将电脑放一边自己运行,如果是上班可以将在最后将结果保存下来,然后加上: ! shutdown -s 这样,在程序运行完后电脑会自动关机,我们也可以MATLAB发送邮件通知我们.

  5. matlab 发送 126 邮件,python实现126邮箱发送邮件

    用Python发送126邮件,供大家参考,具体内容如下 今天想做个自动化邮件提醒的功能,最近刚好在学习python,都说python那么强大,想试一下python能否搞定,搜一下资料,果真可以,而且又 ...

  6. java发邮件_使用MATLAB自动发邮件

    MATLAB作为工程师的得力助手,常被我们誉为万能助手."MATLAB啥都能做,除了生孩子"这种话语常挂在我们嘴边.今天小编就偷偷告诉大家一个使用MATLAB自动发邮件的方法. 在 ...

  7. 高校再陷版权纷争:MATLAB遭禁用后,又一基础软件严查盗版

    继哈工大.哈工程等受"实体清单"影响被禁止使用 Matlab 商业软件后,化学行业软件公认的大佬 ChemOffice 开始清查国内的盗版软件使用者,并通过邮件的方式通知高校学生不 ...

  8. python 自动化发送邮件_Python自动化必备发送邮件报告脚本详解

    #!/usr/bin/python3 # -*- coding:UTF-8 -*- import smtplib #smtplib库主要用来连接第三方smtp库,用来发邮件 from email.mi ...

  9. 使用Matlab将抖音视频转换成gif图片

    文章目录 1. 原由 2. 方法 3. 演示 3.1 将视频完整转换为gif图片 3.2 将指定时间的视频片段转换为gif图片 3.3 改变gif图片的播放速度 4. 联系作者 1. 原由 昨天的博文 ...

最新文章

  1. 谨慎对待switch,用Object对象替换switch
  2. principle导出html5,让Principle成为生产力工具(二)单页面中的联动
  3. JSP、EL和JSTL-学习笔记01【JSP基础语法】
  4. 对于sonar展示的问题数的研究
  5. ABAP Netweaver Authorization trace tool
  6. source insight 函数不能跳到definition_小技能: Windows10突然不能复制粘贴谁搞鬼
  7. Python交互模式方向键出现乱码
  8. SGU 186.The Chain
  9. 测试需求分析第二部分
  10. 2018年1月问答系统综述
  11. JVM-class文件完全解析-字段表集合
  12. [转载] Python数据分析之Matplotlib数据可视化实例
  13. 笔记.cloudflare 的橙色云代理ssl坑
  14. SQlite数据库的C编程接口(一) 简介 ——《Using SQlite》读书笔记
  15. javaJSON字符串转换实体类
  16. matlab画填充直方图,matlab使用imhist、plot、fill画可填充颜色连续直方图
  17. 用python如何制作表格_Python中用xlwt制作表格实例讲解
  18. BNN - 基于low-bits量化压缩的跨平台深度学习框架
  19. 抖音直播带货怎么开通?最新政策及直播带货话术技巧!
  20. javascript 编码_我们的1,600小时JavaScript编码课程

热门文章

  1. basis--IMG后台如何显示事务码(How to display IMG's Tcode)
  2. 如何理解git的快照?
  3. Linux设备驱动模型概述(Linux device driver model overview)
  4. Android列表视图(List View)
  5. S3C6410设备时钟源选择、启动方式选择和内存映射
  6. 牛刀小试之Django二
  7. golang数据类型与MySQL数据类型的对应
  8. 用YII实现多重查询(基于tag)
  9. PM2中无法开启ES6的解决方案
  10. 11g RAC不能启动ohasd进程