日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

通过Matlab发送邮件要注意的问题

發布時間:2025/4/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 通过Matlab发送邮件要注意的问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:

有時候在實驗室,通過MATLAB做一個計算或者仿真,需要花比較長的時間,比如十幾個小時甚至幾天。我們希望MATLAB跑完后,我們能夠得到通知,或者能夠了解到結果。 這個時候,可以設置在MATLAB跑完后,給我們發個郵件,并且把一些計算結果當做附件給我們發過來。如果手機綁定了郵箱,我們就可以立刻知道跑完了,并且大致了解結果。

一個小Demo

我做了一個小的demo來實現以上的需求。這個demo在MATLAB 2018b上做的,郵件發送使用的網易126郵箱。

demo功能介紹

在Simulink中建立了一個簡單的模型(沒有什么實際意義,僅僅用于展示)代表我們要做仿真計算的任務。 當這個仿真運行完成后,向我的郵箱發送一封郵件,把仿真結果作為正文內容發過來,附件為仿真結果的一張圖形。 假設我的郵件地址為 whoispo@126.com ,當然這是一個假的地址 ?

準備工作

為了發郵件,我們需要上我們的126郵箱,對其進行一定的設置,才能讓MATLAB把我們的郵件發送出去。雖然我只是以126為例,但是其他郵箱應該也有類似的設置方法。

  • 開啟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发送邮件要注意的问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。