matlab,matlab发邮件

原来matlab也能发邮件啊~
贴上封装过的代码。
function sendmail_my(from_address, password, to_address, subject, message, datapath, mode)
% 功能:发送电子邮件。
% 输入参数:
% from_address:发件箱地址。字符串。
% password:发件箱密码。字符串。
% to_address:收件箱地址。字符串,或字符串组成的原胞数组。
% subject:邮件标题。字符串。
% message:邮件正文。字符串(75字节)。原胞数组(多行显示)。[OPTIONAL]
% datapath: 附件地址。字符串或原胞数组。[OPTIONAL]
% mode:发送模式。0:自动选择服务器。1(非零):通过发件箱地址设置服务器。[OPTIONAL]。
% 用户名密码错的话,matlab提示:Authentication failed.
% 测试过能用的邮箱:
% sina.cn, qq, foxmail, 163, hotmail.
% 其中163和hotmail只能收不能发。
% chenming. 2011-5-6.
% 参数处理
if (~exist('message', 'var')), message=[];end;
if (~exist('datapath', 'var')), datapath=[];end;
mode = 1;
if (~exist('mode', 'var')), mode=0;end; % 默认为0,即系统自动选择服务器。
% 设置发件的地址,密码,服务器。
setpref('Internet', 'E_mail', from_address);
setpref('Internet', 'SMTP_Username', from_address);
setpref('Internet', 'SMTP_Password', password);
serve_str=[];
if mode ~= 0, % 非零,则自行设置,否则系统自动设置。
index = strfind(from_address, '@');
serve_str = sprintf('smtp.%s', from_address(index+1:end));
setpref('Internet', 'SMTP_Server', serve_str);
end;
% java 的设置
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_address, subject, message, datapath);
Tags:  matlab论坛 matlab教程 matlab下载 matlab

延伸阅读

最新评论

发表评论