此处以163邮箱为例,当然用qq邮箱也是如法炮制。
一、前期准备条件是要开启163邮箱的smtp服务,步骤如下:
1、点击右上角的“设置”选项,然后点击“POP3/SMTP/IMAP”选项,开启smtp服务:
2、点击“客户端授权密码”选项,然后根据提示来获取客户端授权密码:
二、编写MATLAB代码实现邮件的发送,代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
function sendEmail(subject,content,filePath)
%调用格式为:1.sendEmail(subject,content)
% 2.sendEmail(subject,content,filePath)
% Exp1:sendEmail(
'你的MATLAB代码执行完毕啦!'
,
strcat
(
'代码执行所花的时间为(s):'
,num2str(totalTime)));
% Exp2:sendEmail(
'你的MATLAB代码执行完毕啦!'
,
strcat
(
'代码执行所花的时间为(s):'
,num2str(totalTime)),filePath);
% subject:为邮件的主题
% content:为邮件的内容
% filePath:附件的路径(要包含具体的文件名)
MailAddress =
'158****7348@163.com'
; %此处填写163邮箱账号
password =
'********'
; %此处填写步骤一中获取的客户端授权密码
setpref(
'Internet'
,
'E_mail'
,MailAddress);
setpref(
'Internet'
,
'SMTP_Server'
,
'smtp.163.com'
);
setpref(
'Internet'
,
'SMTP_Username'
,MailAddress);
setpref(
'Internet'
,
'SMTP_Password'
,password);
props = java.lang.System.getProperties;
props.setProperty(
'mail.smtp.auth'
,
'true'
);
if
nargin == 2
sendmail(MailAddress,subject,content);
elseif nargin==3
sendmail(MailAddress,subject,content,filePath);
elseif nargin > 3
error(
'Too many input arguments'
);
elseif nargin <2
error(
'Too less input arguments'
);
end
end
|