Apache Commons 电子邮件设置(无法解析为类型),我似乎有正确的 JAR
Apache Commons Email setup (cannot be resolved to a type), I appear to have correct JARs
我正在尝试获取用于发送基本电子邮件的代码,这是我在 Apache Commons 电子邮件用户指南中找到的,有效:
package reporting;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class Email {
public static void main (String[] args) {
Email email = new SimpleEmail();
email.setHostName("smtp.googlemail.com");
email.setSmtpPort(465);
email.setAuthenticator(new DefaultAuthenticator("username", "password"));
email.setSSLOnConnect(true);
email.setFrom("ross.donohoe@tvgmedia.com");
email.setSubject("TestMail");
email.setMsg("This is a test mail ... :-)");
email.addTo("foo@bar.com");
email.send();
}
}
此论坛上存在类似问题,但答案建议下载我已有的 JAR。我的构建路径中有以下 JAR:
- 激活-1.1.1.jar
- javax.mail-1.6.2.jar
- commons-email-1.5.jar
- commons-email-1.5-javadoc.jar
- commons-email-1.5-sources.jar
- commons-email-1.5-test-sources.jar
- commons-email-1.5-tests.jar
- 邮件 1.4.jar
有人能给我指出正确的方向吗?
您的 class 与您需要导入的 class 存在命名冲突。您的 class 被称为 Email
,因此它将与您需要导入的 org.apache.commons.mail.Email
冲突,因此将您的 class 重命名为其他名称(class 定义和文件名),你应该是金色的。
或者,您可以更改您的代码以引用具有完全限定名称的 Commons 电子邮件 class,但我只是重命名您的 class,除非您真的必须调用它 Email
且无法重命名。
org.apache.commons.mail.Email email = new SimpleEmail();
除此之外,检查您是否有这些导入并且它应该可以工作:
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
确保您的导入正确完成。如果是,那么您的 IDE 可能无法访问导入到您的 .m2 文件夹中的文件。
您可以转到您的用户目录,打开 .m2 文件夹,查找该文件,将其删除并重新导入,或者重新启动您的 IDE。
我正在尝试获取用于发送基本电子邮件的代码,这是我在 Apache Commons 电子邮件用户指南中找到的,有效:
package reporting;
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class Email {
public static void main (String[] args) {
Email email = new SimpleEmail();
email.setHostName("smtp.googlemail.com");
email.setSmtpPort(465);
email.setAuthenticator(new DefaultAuthenticator("username", "password"));
email.setSSLOnConnect(true);
email.setFrom("ross.donohoe@tvgmedia.com");
email.setSubject("TestMail");
email.setMsg("This is a test mail ... :-)");
email.addTo("foo@bar.com");
email.send();
}
}
此论坛上存在类似问题,但答案建议下载我已有的 JAR。我的构建路径中有以下 JAR: - 激活-1.1.1.jar - javax.mail-1.6.2.jar - commons-email-1.5.jar - commons-email-1.5-javadoc.jar - commons-email-1.5-sources.jar - commons-email-1.5-test-sources.jar - commons-email-1.5-tests.jar - 邮件 1.4.jar
有人能给我指出正确的方向吗?
您的 class 与您需要导入的 class 存在命名冲突。您的 class 被称为 Email
,因此它将与您需要导入的 org.apache.commons.mail.Email
冲突,因此将您的 class 重命名为其他名称(class 定义和文件名),你应该是金色的。
或者,您可以更改您的代码以引用具有完全限定名称的 Commons 电子邮件 class,但我只是重命名您的 class,除非您真的必须调用它 Email
且无法重命名。
org.apache.commons.mail.Email email = new SimpleEmail();
除此之外,检查您是否有这些导入并且它应该可以工作:
import org.apache.commons.mail.DefaultAuthenticator;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
确保您的导入正确完成。如果是,那么您的 IDE 可能无法访问导入到您的 .m2 文件夹中的文件。
您可以转到您的用户目录,打开 .m2 文件夹,查找该文件,将其删除并重新导入,或者重新启动您的 IDE。