错误使用公共电子邮件-1.3发送电子邮件(Error in sending email using

2019-07-20 11:44发布

发送电子邮件时我正在使用公共电子邮件,1.3以下错误。
我已经下载并添加外部JAR对项目的。
请帮我解决这个问题!

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!");

    }
}

这给出了错误的线路

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

该错误消息是

异常在线程“主要” java.lang.Error的:未解决的编译问题:

该类型javax.mail.Authenticator不能得到解决。 它是间接需要的.class文件中引用
从类型电子邮件的方法setAuthenticator(认证器)是指缺少类型身份验证器在mypkg.mailtest.main(mailtest.java:13)

Answer 1:

请从指定的链接下载的罐子

激活JAR

Java邮件罐子



Answer 2:

你需要在你的classpath两者的mail.jar和activation.jar。



Answer 3:

打开文件的pom.xml,添加代码:

<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>


文章来源: Error in sending email using commons-email-1.3