用matlab通过QQ发送邮件
下面只是对matlab自带sendmail
函数的一个简单封装:
function send_qqmail(to, subject, message, attachments)
% change address & password to yours.
address = '[email protected]';
password = 'xxxxxxxx';
if ~iscell(to)
to = strsplit(to, ';');
end
if nargin < 3
message = '';
end
if nargin < 4
attachments = {};
end
if ~iscell(attachments)
attachments = strsplit(attachments, ';');
end
address = '[email protected]';
password = 'pxgqshcgsikqbgei';
setpref('Internet', 'E_mail', address);
setpref('Internet', 'SMTP_Server', 'smtp.qq.com');
setpref('Internet', 'SMTP_Username', address);
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(to, subject, message, attachments);
注意这里使用QQ邮箱的密码不是登录web界面时所使用的密码,而是QQ随机生成的16位字母的“授权码”。授权码需到邮箱设置页面,并发送手机短信到指定号码才能获取。
使用很简单:
send_qqmail('[email protected];[email protected]', 'test', 'test', 'file1;file2')
多个发件人和附件都可以用;
号隔开。附件参数可忽略。