3

在发送电子邮件时,我使用 commons-email-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"));

错误信息是

线程“main”java.lang.Error 中的异常:未解决的编译问题:

javax.mail.Authenticator 类型无法解析。它是从所需的 .class 文件中间接引用的 来自
Email 类型的方法 setAuthenticator(Authenticator) 指的是 mypkg.mailtest.main(mailtest.java:13) 中缺少的类型 Authenticator

4

3 回答 3

9

请从指定链接下载jar

激活 JAR

Java 邮件 jar

于 2013-02-25T08:23:19.817 回答
4

您的类路径中同时需要 mail.jar 和 activation.jar。

于 2013-02-25T08:09:44.480 回答
1

打开文件 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>
于 2017-10-05T08:31:38.993 回答