-2

How to fix this, the below code is for sending an email - I am getting error as follows, I want the java code to simply send an email to and from my outlook account that's it

DEBUG: setDebug: JavaMail version 1.4.3

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtp,com.sun.mail.smtp.SMTPTransport,Sun Microsystems, Inc]
DEBUG SMTP: useEhlo true, useAuth true
javax.mail.AuthenticationFailedException: failed to connect, no password specified?
    at javax.mail.Service.connect(Service.java:325)
    at javax.mail.Service.connect(Service.java:172)
    at javax.mail.Service.connect(Service.java:121)
    at javax.mail.Transport.send0(Transport.java:190)
    at javax.mail.Transport.send(Transport.java:120)
    at JavaMailTest.main(JavaMailTest.java:45)

failed to connect, no password specified?

import java.util.Properties;

import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class JavaMailTest {
    public static void main(String[] args) {
        String host="host";  
        final String user="username@domain.com";//change accordingly  
        String to="username@domain.com";//change accordingly  

        //Get the session object  
        Properties props = new Properties();  
        props.put("mail.smtp.host",host);  
        props.put("mail.smtp.auth", "false");

        Session session=Session.getDefaultInstance(props, null);
        session.setDebug(true);

        //Compose the message  
        try {
            MimeMessage message = new MimeMessage(session);
            message.saveChanges();
            message.setFrom(new InternetAddress(user));  
            message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));  
            message.setSubject("Test mail");  
            message.setText("This is test mail.");  

            //send the message
            Transport.send(message);

            System.out.println("message sent successfully...");
        }
        catch (MessagingException e) {e.printStackTrace();}

    }
}
P.J.Meisch
  • 18,013
  • 6
  • 50
  • 66
dynamicJos
  • 129
  • 3
  • 14
  • Possible duplicate of [Send mail in javax.mail without authentication](https://stackoverflow.com/questions/19115732/send-mail-in-javax-mail-without-authentication) – Tavo Jul 14 '17 at 05:58

1 Answers1

0

Authentication policy is set by the SMTP server. Most server will not allow sending without authentication. You need to contact your system administrator to verify this.

zuckermanori
  • 1,675
  • 5
  • 22
  • 31