Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 发送电子邮件在transport.connect被卡住_Java_Smtp_Jakarta Mail - Fatal编程技术网

Java 发送电子邮件在transport.connect被卡住

Java 发送电子邮件在transport.connect被卡住,java,smtp,jakarta-mail,Java,Smtp,Jakarta Mail,代码如下: Properties properties = new Properties(); properties.put("mail.transport.protocol", "smtps"); properties.put("mail.smtp.starttls.enable", "true"); properties.put("mail.smtp.host", "mail.myd

代码如下:

Properties properties = new Properties();
properties.put("mail.transport.protocol", "smtps");
properties.put("mail.smtp.starttls.enable", "true");
properties.put("mail.smtp.host", "mail.mydomain.com");
properties.put("mail.smtp.port", "465");
properties.put("mail.smtp.auth", "true");
properties.put("mail.smtp.user", "myemail@mydomain.com");
properties.put("mail.smtp.password", "mypassword");

Session sendSession = Session.getInstance(properties);

MimeMessage message = new MimeMessage(sendSession);
message.setFrom(new InternetAddress("myemail@mydomain.com"));
message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
message.setSubject(subject);
message.setText(content);

Transport transport = sendSession.getTransport("smtp");
transport.connect("mail.mydomain.com", 465, "mydomain.com@mydomain.com", "mypassword");
transport.sendMessage(message, message.getAllRecipients());
transport.close();
以下是SSL/TLS设置:

Outgoing Server: mail.mydomain.com
SMTP Port: 465 
执行上述代码时,它会卡在以下位置:

transport.connect("mail.mydomain.com", 465, "mydomain.com@mydomain.com", "mypassword");
什么也没发生


为什么它卡在
connect
上以及如何修复它?

尝试将
mail.transport.protocol
值从
smtps
更改为
smtp

您正在尝试使用用于smtp的端口465。因此,您必须将协议更改为
smtp
。您正在尝试使用安全模式启动TLs,但您使用的是简单smtp端口

Properties properties = new Properties();
properties.put("mail.transport.protocol", "smtps");
properties.put("mail.smtp.starttls.enable", "true");
.....
尝试更改并发送邮件。

我发现了问题

Transport-Transport=sendSession.getTransport(“smtp”)

而不是
smtp
应该是
smtps


感谢所有试图帮助我的人。

你如何确定它在
连接处停止?@Umeshwaran,我正在使用调试器,它在那里停止。请尝试将
mail.smtp.starttls.enable
更改为false,然后尝试发送mail@Umeshwaran,问题仍然存在。请尝试更改
属性.put(“mail.transport.protocol”,“smtps”);
properties.put(“mail.transport.protocol”,“smtp”);
smtps
smtp
并尝试发送邮件