Question

While sending email I am getting the following errors using commons-email-1.3.
I have downloaded and added external jar's to the project.
Please help me fix this problem!

package mypkg;

import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.SimpleEmail;

public class sendingmail {
     public static void main(String[] args)  throws Exception {
            Email email = new SimpleEmail();
            email.setSmtpPort(587);
            email.setAuthenticator(new DefaultAuthenticator("myid","mypwd")); //Here is the error
            email.setDebug(false);
            email.setHostName("smtp.gmail.com");
            email.setFrom("me@gmail.com");
            email.setSubject("Hi");
            email.setMsg("This is a test mail ... :-)");
            email.addTo("you@gmail.com");
            email.setTLS(true);
            email.send();
            System.out.println("Mail sent!");

    }
}

The line that gives the error is

email.setAuthenticator(new DefaultAuthenticator("myid","mypwd"));

The error message is

Exception in thread "main" java.lang.Error: Unresolved compilation problems:

The type javax.mail.Authenticator cannot be resolved. It is indirectly referenced from required .class files
The method setAuthenticator(Authenticator) from the type Email refers to the missing type Authenticator at mypkg.mailtest.main(mailtest.java:13)

Was it helpful?

Solution

Please download the jars from the specified links

Activation JAR

Java Mail jar

OTHER TIPS

You need both mail.jar and activation.jar in your classpath.

open file pom.xml, add code:

<dependencies>

  <!-- http://mvnrepository.com/artifact/org.apache.commons/commons-email -->   
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-email</artifactId>
        <version>1.4</version>
    </dependency>
</dependencies>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top