Java не может отправлять электронные письма с одной учетной записи сервера Linux
У меня есть выделенный сервер, на котором размещено много сайтов. Один из них не может отправлять электронные письма. Все они имеют приложение Tomcat/MySQL, которое отправляет электронные письма, когда пользователь нажимает кнопку. Это работало без проблем в течение многих лет, однако сегодня одна учетная запись / веб-сайт перестали это делать.
На консоли Tomcat я получаю это исключение:
There was an unexpected error.com.sun.mail.util.MailConnectException: Couldn't connect to host, port: mail.xxxxxxxx.com, 25; timeout -1;
nested exception is:
java.net.ConnectException: Connection refused (Connection refused)
Порт 26 определяется глобально в конфигурации почтового сервера Exim, и если я пытаюсь подключиться с помощью telnet, я могу сделать это с другими учетными записями с сервера, однако я не могу сделать это с этой конкретной учетной записью.
так что если я попробую:
telnet mail.myfirstdomain.com 26
он успешно соединяется,
но если я попробую:
telnet mail.myotherdomain.com 26
это не работает
Я целый день пытался выяснить, где этот исходящий SMTP-порт настроен локально, но мне пока не повезло.
Это код класса java, который отправляет электронные письма, он одинаков на всех других веб-сайтах, и до сегодняшнего дня на этом конкретном веб-сайте он работал отлично:
java.util.Properties properties = System.getProperties();
properties.put("mail.smtp.host", smtpHost);
properties.put("mail.smtp.auth", "true");
Session session = Session.getInstance(properties, null);
// Construct the message
MimeMessage message = new MimeMessage(session);
// Set the from address
Address fromAddress = new InternetAddress(from);
message.setFrom(fromAddress);
// Parse and set the recipient addresses
Address[] toAddresses = InternetAddress.parse(to);
message.setRecipients(Message.RecipientType.TO,toAddresses);
// Set the subject and text
message.setSubject(subject, "UTF-8");
message.setText(text, "UTF-8");
Transport trans = session.getTransport("smtp");
trans.connect(smtpHost, mailUsr, mailPwd);
message.addHeader("Content-Type", "text/plain;charset=UTF-8");
message.addHeader("Content-Transfer-Encoding", "7bit");
message.saveChanges();
trans.sendMessage(message, message.getAllRecipients());
trans.close();
sentStatus = true;
В файле /etc/exim.conf есть эта строка: daemon_smtp_ports = 26: 587: 465: 25
Итак, как видите, порт 26 есть, и, как я уже говорил, все остальные сайты работают без проблем.
Я просто не смог выяснить, где включить порт 26 для этой конкретной учетной записи.
Любая помощь будет по достоинству оценена. Я знаю, что есть много вопросов, связанных с этой темой, однако ни один из них не был полезен в моей конкретной ситуации.
У меня общий доступ к серверу, WHM, CPanel, SSH
С уважением!!