gpt4 book ai didi

java - 为什么javax.mail端口从2525更改为25

转载 作者:行者123 更新时间:2023-11-30 08:09:11 25 4
gpt4 key购买 nike

我使用山魈发送邮件。端口设置为2525

props = new Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.starttls.enable", "true");
//props.put("mail.smtp.**ssl.enable", "true");
//props.put("mail.smtp.**ssl.required", "true");
props.put("mail.smtp.host", settings.host);
props.put("mail.smtp.port", settings.port);

而且我确信所有设置都是有效的。

然后我设置身份 validator

authenticator = new javax.mail.Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(settings.username, settings.password);
}
};

然后发送邮件

Session session = Session.getInstance(props, authenticator);
session.setDebug(true);
try {
Message message = mail.getMessage(session);
Transport.send(message);
System.out.println("Done");
return true;
} catch (MessagingException e) {
e.printStackTrace(System.err);
return false;
}

调试说我在第 25 个端口发送邮件

DEBUG: setDebug: JavaMail version 1.4ea
DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.s
mtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.mandrillapp.com", port 25, isSSL fal
se
220 smtp.mandrillapp.com ESMTP
DEBUG SMTP: connected to host "smtp.mandrillapp.com", port: 25

我尝试创建“smtps”传输,但这没有帮助。 Mandrill 说我可以使用端口 2525(或 587 等)。我还使用具有相同凭据的 Linux 服务器上的 postfix 在端口 2525 上发送。

最佳答案

这个错误非常愚蠢)

props.put("mail.smtp.port", settings.port);

此行中的 port 是一个 int 值,当我将 port 字段更改为 String 时,它开始工作。

关于java - 为什么javax.mail端口从2525更改为25,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30667331/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com