发送邮件sendmail()
常用语法结构如下:
sendmail(recipents, subject, message, attachments );
上述各项语法含义分别为接收者邮箱、主题、内容和附件。
%% 发送邮件,仅有主题
sendmail('123456@qq.com', '你好啊');
%% 群发邮件
sendmail({'123456@qq.com','1234567@qq.com'}, '你们好啊');
%% 发送邮件,包括主题和内容
sendmail('123456@qq.com', '你好啊', '感谢阅读');
%% 添加附件
sendmail('123456@qq.com', '你好啊', '感谢阅读', 'D:\hello.txt');
%% 添加多个附件
sendmail('123456@qq.com', '你好啊', '感谢阅读', {'D:\hello.txt', 'E:\morning.txt'});
仅仅使用上述代码,还不能发出邮件,还需要进行相关配置,下面给出完整代码。
完整代码,以QQ邮箱为例
%% 设置邮箱
mail = '123456@qq.com'; % 修改1:邮箱地址
password = 'wwwww'; % 修改2:邮箱授权码,不是邮箱登录密码
%% 服务器设置
setpref('Internet','E_mail',mail);
setpref('Internet','SMTP_Server','smtp.qq.com'); % 修改3:SMTP服务器,如果是163邮箱,那么最后一项修改为'smtp.163.com'
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 = '123456@126.com'; % 修改4:接受邮箱
sendmail(receiver, '你好啊', '感谢阅读'); % 修改5:发送主题、内容
复制粘贴上述代码,并修改代码段中的5处地方,即可享受MATLAB自动发邮件的功能啦!
注意
如果出现Error using sendmail (line 171),Authentication failed.
,有可能是(1)邮箱授权码输入错误,错输成登录密码;(2)没有在个人邮箱设置中打开smtp
服务。
参考:
【1】 MATLAB官方帮助文档。