Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Java > Problem about JavaMail

Thread Tools

Problem about JavaMail

Posts: n/a

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: 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 = ""; //which is a valid mail server
if ( check_server(mail_host) ) //!!!!!

public static void send ()
String to = "root@localhost";
String subject = "hello,world";
String total_message = "test email";
String from = "(E-Mail Removed)";
String host = mail_host;

Properties props = new Properties();
props.put("", 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) );
catch (MessagingException mex) {

// 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");
flag = true;
catch (MessagingException mx) {
flag = false;
finally {
try {
if (tr != null) {
catch (MessagingException mex) {}
return flag;

Reply With Quote
Posts: n/a
"mrby" <(E-Mail Removed)> wrote in news:c6rbng$2bo6$(E-Mail Removed)

> Who can give me some hints?
> Thanks much!

I think you should not call tr.connect(host, null, null). Put the
host in the session, then call tr.connect(). Reason? Not 100% on
this, but I think the connect(String, String, String) requires all 3
params or 3 nulls (which prompts the underlying code to do a
different connect). I don't think it can handle the host, null, null
and is defaulting to the Session which defaults to "localhost" if
undefined. Note in your example there is no "" property
defined at that point in the code. You do this only in send().

There are a couple of things with this example you could change that
would make your life easier. check_server does not need the host as a
parm, as that parm is a class variable and is visible to all methods.
Likewise no need for a copy of it to be made in the send() method.

I would consider making the Session instance an instance variable and
initializing it in the constructor/initializer accordingly.


Reply With Quote

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
javamail pop Store SBC problem webguynow Java 1 01-04-2005 06:11 AM
JavaMail sending problem and solution Bobby Martin Java 4 05-21-2004 01:57 AM
problem sending javamail Nilambari Java 2 12-26-2003 08:27 AM
q javamail compile problem Jason Java 3 12-19-2003 12:34 AM
No header retrieved problem solved for javamail news Java 0 10-31-2003 04:31 PM