我正在尝试使用 javamail 和 smtp 发送邮件。当我从我的 gmail 地址发送时,它对我有用。我更改了相同的代码以从我的交换帐户发送,但它不起作用。我收到身份验证失败异常。
代码
public class GmailSender extends javax.mail.Authenticator {
private String mailhost = "smtp.company.com";
private String user;
private String password;
private Session session;
static {
Security.addProvider(new JSSEProvider());
}
public GmailSender(String user, String password) {
this.user = user;
this.password = password;
Properties props = new Properties();
props.setProperty("mail.transport.protocol", "smtp");
props.setProperty("mail.host", mailhost);
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.port", "465");
props.put("mail.smtp.socketFactory.port", "465");
props.put("mail.smtp.socketFactory.class",
"com.example.javamailtestpreetha.AlwaysTrustSSLContextFactory");
props.put("mail.smtp.socketFactory.fallback", "false");
props.setProperty("mail.smtp.quitwait", "false");
session = Session.getInstance(props, new GMailAuthenticator(user, password));
// session = Session.getDefaultInstance(props, this);
}
我尝试使用默认端口,即 25 ,那次我收到错误指示错误的端口号。所以我假设端口号是正确的。我尝试了 ping 主机及其工作。我试过的用户名domain/username, username, username@company.com
。但总是得到同样的例外。请帮我解决这个问题。
提前致谢
我设置调试并得到以下日志。它告诉不正确的身份验证数据。我确定我的登录名和密码是正确的。谁能帮我输入用户名?
是username
或domain\username
还是domain/username
或username@mycompanyaddress.com
或别的什么?我怀疑这可能是一个问题。
我尝试添加props.put("mail.imap.auth.plain.disable", "true");
但失败并出现相同的错误
01-29 17:50:46.958: I/System.out(3898): 220-mycompany.servername.com ESMTP Exim 4.80 #2 2013 年 1 月 29 日星期二 16:50:51 +0300 01-29 17:50:46.958 : I/System.out(3898): 220-我们不授权使用此系统来传输未经请求的,01-29 17:50:46.958: I/System.out(3898): 220 和/或批量电子邮件。01-29 17:50:46.962:I/System.out(3898):调试 SMTP:连接到主机“smtp.mail.mycompany.com”,端口:465 01-29 17:50:46.962:I/System。 out(3898): EHLO localhost 01-29 17:50:46.989: I/StatusBarPolicy(218): onSignalStrengthsChanged 01-29 17:50:47.220: I/System.out(3898): 250-mycompany.servername.com 你好本地主机 [80.227.5.70] 01-29 17:50:47.220: I/System.out(3898): 250-SIZE 52428800 01-29 17:50:47.220: I/System.out(3898): 250-8BITMIME 01 -29 17:50:47.220:I/System.out(3898):250-流水线 01-29 17:50:47.220:I/System。