平時在科研中經常會被導師要求使用matlab跑一些大程序,許多時候一個結果跑下來得花去好幾個小時的時間,然后改改參數再繼續跑,這樣真的很讓人不淡定啊,如果使用matlab編程讓matlab跑出的讓自己滿意的結果通過郵件發到自己手機上是不是美滋滋呢。接下來介紹matlab跑出結果后自動給自己手機郵箱發郵件?
1. 開啟qq郵箱的POP3/SMTP服務:
在電腦上打開qq郵箱,在主界面點設置
然后點賬戶
往下拉,你就會看見下面這幅圖所示的這幾個服務,默認是關閉的,我這里已經把他們開啟了,點擊開啟之后,你會得到一個授權碼,這個授權碼很重要,待會兒會用到,最好截圖將它保存起來。
然后點擊左下角的保存更改,這一步便完成了。
2. 使用matlab編程實現給自己qq郵箱發郵件
matlab中的sendmail函數是實現發郵件功能的,不過前提得設置一些東西,我把這些東西打包成了一個函數mailTome,主要設置和功能見下面代碼:function mailTome(subject,content)
MailAddress = '123456789@qq.com';%在這里輸入你的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發郵件,有時候不知道怎么回事,會出現錯誤,遇到這種情況等等再發,或者將matlab重啟就好了,我也不知道是咋回事)
3. 使用matlab編程實現給自己163郵箱發郵件
接着我們實現用matlab給我們的163郵箱發郵件,和qq類似,也有一些不同,見如下代碼:function mailTome(subject,content)
MailAddress = '123456789@163.com';%在這里輸入你的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郵箱就會收到你發的郵件了: