О макет-javamail
Мне нужен почтовый сервер в Java, который может обрабатывать входящую и исходящую почту (протоколы POP3- IMAP- SMTP).
Я думал о попытке использовать mock-javamail.
Я скачал:
svn co https://svn.java.net/svn/mock-javamail~svn
Я хочу импортировать проект в eclipse и начать настраивать его и тестировать.
Я не нашел никакой информации о том, как построить этот проект, чтобы открыть его в затмении. Я ничего не знаю о лицензии. Может кто-нибудь, пожалуйста, помогите?
У меня уже есть клиенты smtp-pop3-imap, использующие API JavaMail.
Теперь мне нужно реализовать почтовый сервер в Java, который может обрабатывать входящие и исходящие письма.
2 ответа
Вот простой способ проверить почтовый API.
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.SimpleEmail;
public class MyMailSender {
public void sendMail(String to, String from, String subject, String msg) throws EmailException {
Email email = new SimpleEmail();
email.addTo(to);
email.setFrom(from);
email.setSubject(subject);
email.setMsg(msg);
email.setHostName("testmail.com");
email.send();
}
}
Посмотрите на JavaMail Mock2 https://github.com/salyh/javamail-mock2, он предназначен для проведения юнит-тестов с JavaMail и не нуждается в реальной системе.
Он в основном ориентирован на IMAP/POP3, но SMTP Mock также доступен. Его доступно в Maven Central.
Характеристики
- Поддержка imap, imaps, pop3, pop3s, smtp, smtps
- Поддерживается для POP3: приведение к POP3Folder, Folder.getUID(сообщение msg)
- Поддерживается для IMAP: приведение к IMAPFolder, приведение к UIDFolder, вложенные папки, -Folder.getMessagesByUID(...), удаление / переименование папок, добавление сообщений
- Поддержка SMTP: Mock Transport.send()
На данный момент не поддерживается: расширения IMAP, такие как IDLE, CONDSTORE, ... и приведение к POP3Message/IMAPMessage, хранение слушателей
Для загрузки и импорта в eclipse установите maven и git и введите:
- git clone https://github.com/salyh/javamail-mock2.git
- cd javamail-mock2
- mvn eclipse: затмение
- Затем импортируйте как существующий проект в Eclipse