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)

Était-ce utile?

La solution

Please download the jars from the specified links

Activation JAR

Java Mail jar

Autres conseils

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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top