Настройка электронной почты Apache Commons (не может быть разрешена для типа), у меня, кажется, есть правильные файлы JAR - PullRequest
0 голосов
/ 21 февраля 2019

Я пытаюсь получить этот код для отправки основного электронного письма, которое я нашел в Руководстве пользователя электронной почты 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 - mail-1.4.jar

Может кто-нибудь указать мне правильное направление?

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Убедитесь, что ваш импорт был выполнен правильно.Если это так, то, возможно, в вашей IDE возникли проблемы с достижением файла, импортированного в папку .m2.

Вы можете перейти в свой каталог пользователя, открыть папку .m2, найти этот файл, удалить его и повторно импортировать его.или просто перезапустите IDE.

0 голосов
/ 21 февраля 2019

У вас конфликт имен с вашим классом и классом, который необходимо импортировать.Ваш класс называется Email, поэтому он будет конфликтовать с org.apache.commons.mail.Email, который необходимо импортировать, поэтому переименуйте ваш класс во что-то другое (как определение класса, так и имя файла), и вы должны быть золотыми.

В качестве альтернативы вы можете изменить свой код так, чтобы он ссылался на класс электронной почты Commons с полным именем, но я бы просто переименовал ваш класс, если вы действительно не должны называть его 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;
...