M
mrby
Hi,
I'm just trying to use JavaMail and have a strange problem.
(See the code snippet below)
When running it, the exception error message is:
errorjavax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: Could not connect to SMTP host: localhost,
port: 25;
nested exception is:
java.net.ConnectException: Connection refused
the problem is in the line with //!!!!
If I comment this line out, it works fine.
The purpose of this line to invoke check_server is to
have a check first.
Who can give me some hints?
Thanks much!
================================================
import java.sql.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
/** Class handles sending email messages. */
public class email {
private static String mail_host = null;
public static void main (String[] args) {
mail_host = "mrby.8866.org"; //which is a valid mail server
if ( check_server(mail_host) ) //!!!!!
send();
}
public static void send ()
{
String to = "root@localhost";
String subject = "hello,world";
String total_message = "test email";
String from = "(e-mail address removed)";
String host = mail_host;
Properties props = new Properties();
props.put("mail.smtp.host", host );
Session session = Session.getDefaultInstance(props, null);
try {
// create a message
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipients( Message.RecipientType.TO,
InternetAddress.parse(to) );
msg.setSubject(subject);
msg.setText(total_message);
Transport.send(msg);
System.out.println(host);
}
catch (MessagingException mex) {
System.out.println("error"+mex.toString());
}
}
// Method to check if the SMTP service on a host is available
private static boolean check_server( String host )
{
boolean flag;
Transport tr = null;
try {
Properties props = new Properties();
Session session = Session.getDefaultInstance(props,null);
tr = session.getTransport("smtp");
tr.connect(host,null,null);
flag = true;
tr.close();
}
catch (MessagingException mx) {
flag = false;
}
finally {
try {
if (tr != null) {
tr.close();
}
}
catch (MessagingException mex) {}
}
return flag;
}
}
I'm just trying to use JavaMail and have a strange problem.
(See the code snippet below)
When running it, the exception error message is:
errorjavax.mail.SendFailedException: Sending failed;
nested exception is:
javax.mail.MessagingException: Could not connect to SMTP host: localhost,
port: 25;
nested exception is:
java.net.ConnectException: Connection refused
the problem is in the line with //!!!!
If I comment this line out, it works fine.
The purpose of this line to invoke check_server is to
have a check first.
Who can give me some hints?
Thanks much!
================================================
import java.sql.*;
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
/** Class handles sending email messages. */
public class email {
private static String mail_host = null;
public static void main (String[] args) {
mail_host = "mrby.8866.org"; //which is a valid mail server
if ( check_server(mail_host) ) //!!!!!
send();
}
public static void send ()
{
String to = "root@localhost";
String subject = "hello,world";
String total_message = "test email";
String from = "(e-mail address removed)";
String host = mail_host;
Properties props = new Properties();
props.put("mail.smtp.host", host );
Session session = Session.getDefaultInstance(props, null);
try {
// create a message
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipients( Message.RecipientType.TO,
InternetAddress.parse(to) );
msg.setSubject(subject);
msg.setText(total_message);
Transport.send(msg);
System.out.println(host);
}
catch (MessagingException mex) {
System.out.println("error"+mex.toString());
}
}
// Method to check if the SMTP service on a host is available
private static boolean check_server( String host )
{
boolean flag;
Transport tr = null;
try {
Properties props = new Properties();
Session session = Session.getDefaultInstance(props,null);
tr = session.getTransport("smtp");
tr.connect(host,null,null);
flag = true;
tr.close();
}
catch (MessagingException mx) {
flag = false;
}
finally {
try {
if (tr != null) {
tr.close();
}
}
catch (MessagingException mex) {}
}
return flag;
}
}