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