我需要通过MATLAB发送电子邮件,我已经阅读了sendmail的说明和这里的许多答案。我已经尝试了3个电子邮件提供商,但我无法真正使用其中任何一个:
Gmail:我只能在停用我的病毒时发送电子邮件
Hotmail和Yahoo:使用sendmail时出错(第171行)异常阅读响应;连接重置
Hotmail和Yahoo(杀毒软件关闭):使用sendmail时出错(第171行)异常阅读响应;无法识别的SSL消息,明文连接?
这是代码
mail = 'user@service.com';
password = 'passwordgoeshere';
setpref('Internet','SMTP_Server','smtp.server.com');
setpref('Internet','E_mail',mail);
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',port);
sendmail(mail,'Test from MATLAB','Hello! This is a test from MATLAB!')
我使用了以下变量:
Gmail:smtp.gmail.com port = 465
Hotmail:smtp.live.com port = 465 and port = 587
Yahoo:smtp.mail.yahoo.com port = 587
由于停用防病毒软件不是一个好选择,任何人都可以帮我解决这个问题吗?
谢谢
答案 0 :(得分:0)
Linux上的另一种方法是运行发送电子邮件的命令行。
unix('echo "message" | mail -s "subject" example@gmail.com');
Windows应该有类似的方法。
答案 1 :(得分:0)
适用于Gmail
更改您的设置,以便让安全性较低的应用访问您的帐户。转到“我的帐户”中的“安全性较低的应用”部分。 在“访问安全性较低的应用”旁边,选择启用。 (Google Apps用户请注意:如果您的管理员已锁定不太安全的应用帐户访问权限,则会隐藏此设置。)
在Matlab中:
mail = 'user@otherdomain.com';
password = 'myPassword';
% Set up the preferences
setpref('Internet','E_mail',mail);
setpref('Internet','SMTP_Server','smtp.gmail.com');
setpref('Internet','SMTP_Username',mail);
setpref('Internet','SMTP_Password',password);
% The following is necessary only if you are using GMail as
% your SMTP server.
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');
subject = 'Test subject';
message = 'Test message';
sendmail(mail,subject,message)
答案 2 :(得分:0)
简单声明
@Override
public Collection<Connection> getConnectionsFrom(Station station) {
Map<Station, Connection> stationConnectionFrom = new HashMap<Station, Connection>();
return Collections.singletonList((stationConnectionFrom.get(station));
}
删除扩展 @ service.com 以获取变量mail = 'user';
。
答案 3 :(得分:0)
您可以阅读https://support.kaspersky.com/4175并获取有关AntiVirus软件设置的IDEA,然后您可以尝试发送电子邮件。
在这里,我将使用 Gmail 并使用端口 587 来解释发送电子邮件。
注意:我会在获得Hotmail&amp; amp;的解决方案后更新答案雅虎。
我尝试过以多种方式发送电子邮件,我在 PDF 中提到了Sending email(GMAIL) using MATLAB公开提供的电子邮件。
在Sending email(GMAIL) using MATLAB PDF 中,您将看到以下内容以及优秀的示例代码和图片。
感谢。