我有一个托管许多网站的专用服务器。其中一人无法发送电子邮件。所有这些应用程序都有一个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
此致!!