Matlab怎么发送邮件

1、sendmail向地址列表发送电子邮件理论知识

语法

sendmail(recipients,subject)
sendmail(recipients,subject,message)
sendmail(recipients,subject,message,attachments)

 

说明

sendmail(recipients,subject) 向 recipients 发送具有指定 subject 的电子邮件。对于单个收件人,请将 recipients 指定为字符向量或字符串。对于多个收件人,请将 recipients 指定为字符向量元胞数组或字符串数组。subject 必须是字符向量或字符串。

 

sendmail(recipients,subject,message) 包括指定的 message。如果 message 是字符向量或字符串,则 sendmail 自动在 75 个字符处对文本换行。要强制在消息文本中换行,请使用 10,如示例中所示。如果 message 是字符向量元胞数组或字符串数组,则每个元素代表一行新文本。

 

sendmail(recipients,subject,message,attachments) 附加 attachments 输入参数中列出的文件。attachments 可以是字符向量、字符向量元胞数组或字符串数组。

示例

将包含两个附件的消息发送到假设的电子邮件地址:sendmail('user@otherdomain.com',...

         'Test subject','Test message',...
         {'folder/attach1.html','attach2.doc'});

将包含强制换行符(使用 10)的消息发送到假设的电子邮件地址:sendmail('user@otherdomain.com','New subject', ...

        ['Line1 of message' 10 'Line2 of message' 10 ...
         'Line3 of message' 10 'Line4 of message']);

生成的消息为:

Line1 of message
Line2 of message
Line3 of message
Line4 of message

提示

  • sendmail 函数不支持 HTML 格式的消息。不过,您可以按附件形式发送 HTML 文件。
  • 如果 sendmail 无法根据系统注册表确定您的电子邮件地址或传出 SMTP 邮件服务器,请使用 setpref 函数指定这些设置。例如:
  • setpref('Internet','SMTP_Server','my_server.example.com');
setpref('Internet','E_mail','my_email@example.com');

要确定用于调用 setpref  SMTP 服务器,请检查您的电子邮件应用程序的预设,或咨询您的电子邮件系统管理员。如果您无法轻易地确定服务器名称,请尝试 'mail' 这个常见默认值,例如:

setpref('Internet','SMTP_Server','mail');
  • 默认情况下,sendmail 函数不支持需要身份验证的电子邮件服务器。要支持这些服务器,请使用以下形式的命令更改您的系统设置并设置 SMTP 用户名和密码的预设:
  • props = java.lang.System.getProperties;
  • props.setProperty('mail.smtp.auth','true');
  • setpref('Internet','SMTP_Username','myaddress@example.com');
setpref('Internet','SMTP_Password','mypassword');
  • 要覆盖默认的字符编码,请按如下方式设置电子邮件字符编码的预设:
setpref('Internet','E_mail_Charset',encoding); 

其中 encoding 是一个指定字符编码的字符向量,例如 'SJIS'

2、实际操作及环境设置

一般情况下直接用sendmail是不行的,因为sendmail 函数不支持需要身份验证的电子邮件服务器。所以还需要设置一下环境

1.首先关闭QQ安全中心的邮箱保护

2.需要先开启邮箱的smtp服务,下面以qq邮箱为例,打开QQ邮箱点击设置下的账户

3.开启 把红色框的那个,点击开启后,最后你会获得一个授权码,记住这个授权码,然后第一步就完成了

 4环境配置好了接下来运行代码

clc
clear
%author:猪猪侠
%date;2019-06-06
props = java.lang.System.getProperties;
props.setProperty('mail.smtp.auth','true');
setpref('Internet','SMTP_Username',Your_Mail);
% Your_Mail是你自己的邮箱
setpref('Internet','SMTP_Password',Your_Password);
% 如果是163邮箱,那最后的那个字符串就是smpt.163.com
% 反正就是邮箱中@后面和.com前面的那几个字符放在smpy.和.com中间
% Your_Password是你的授权码
sendmail('收件人的邮箱', 'matlab邮箱测试', 'matlab邮箱测试','test.docx')

posted on 2019-06-06 12:40  好玩的MATLAB  阅读(34)  评论(0编辑  收藏  举报  来源

导航