问题
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)
回答1:
Please download the jars from the specified links
Activation JAR
Java Mail jar
回答2:
You need both mail.jar and activation.jar in your classpath.
回答3:
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>
来源:https://stackoverflow.com/questions/15062549/error-in-sending-email-using-commons-email-1-3