Jenny
Jenny

Reputation: 545

JavaMail cannot send email

i am trying to write an application in java that will send emails, i found a tutorial on youtube and tried to follow it. however it does not work for me still, here is the error i get

Exception in thread "main" javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25, response: 421
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1949)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:654)
at javax.mail.Service.connect(Service.java:295)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at libraryFineList.ParseRecords.main(ParseRecords.java:90)

i have no idea, what's wrong, anything i found on google did not help,

here is the code

    public static void main(String[] args) throws IOException, MessagingException {

    Properties props = new Properties();
    props.put("mail.smtp.host", "smtp.gmail.com");
    props.put("mail.smtp.socketFactory.port", 465);
    props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    props.put("mail.smtp.auth", "true");
    props.put("mail.smtp.port", "465");

    Session session = Session.getDefaultInstance(props, 
            new javax.mail.Authenticator(){
        protected  PasswordAuthentication getPasswordAuthentication(){
        return new PasswordAuthentication("[email protected]", "pass");

        }
    }

            );

    try{
        Message message = new MimeMessage(session);
        message.setFrom(new InternetAddress("[email protected]"));
        message.addRecipient(Message.RecipientType.TO,
                   new InternetAddress("[email protected]", "Mr. User"));
        message.setSubject("Your Example.com account has been activated");
        message.setText("Worked");
  Transport.send(message);
    }catch(Exception e){
        e.printStackTrace();
    }

here are the libraries that i downloaded and added to build path

enter image description here

Upvotes: 2

Views: 5116

Answers (2)

Bill Shannon
Bill Shannon

Reputation: 29971

The tutorial you followed is full of errors. Start by fixing these common mistakes. Then follow these instructions for connecting to Gmail. If you're still having problems, you'll find lots more help in the JavaMail FAQ. There's also many sample programs available.

Upvotes: 2

ATG
ATG

Reputation: 1707

It's strange that your error message is complaining about a problem connecting to localhost:25 when your properties file is clearly suggesting that you should use smtp.gmail.com.

I don't suppose there's anything dodgy going on with your hosts file that's redirecting smtp.gmail.com back to 127.0.0.1 or something, is there? What happens if you ping smtp.gmail.com from the command line?

Apart from that, I'd suggest checking you're using the latest version of Java Mail.

Upvotes: 0

Related Questions