Ответ 1
Для начала вам понадобится SMTP-сервер. Он должен был иметь возможность отправлять электронные письма. Точно так же, как вам нужен HTTP-сервер, который сможет обслуживать веб-сайт. У вас, видимо, уже есть HTTP-сервер (с сервлетконтейнером), но у вас еще нет настроенного SMTP-сервера.
Вы можете использовать SMTP-сервер, связанный с вашей собственной существующей учетной записью электронной почты, например, с вашим интернет-провайдером или публичными почтовыми ящиками, такими как Gmail, Yahoo и т.д. Сведения о SMTP-подключении вы можете найти в своей документации. Обычно вам просто нужно знать имя хоста и номер порта. имя пользователя/пароль совпадают с именами вашей учетной записи электронной почты.
Имя хоста и номер порта затем должны быть установлены как свойства SMTP для JavaMail:
Properties properties = new Properties();
properties.put("mail.transport.protocol", "smtp");
properties.put("mail.smtp.host", "smtp.example.com"); // smtp.gmail.com?
properties.put("mail.smtp.port", "25");
Имя пользователя/пароль следует использовать в Authenticator
следующим образом:
properties.put("mail.smtp.auth", "true");
Authenticator authenticator = new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("yourusername", "yourpassword");
}
};
Затем вы можете получить почтовую сессию следующим образом:
Session session = Session.getDefaultInstance(properties, authenticator);
С учетом вашего интернет-провайдера или общедоступных почтовых ящиков вы, однако, ограничены использованием собственного адреса в поле From
письма и обычно также в количестве писем, которые вы можете отправлять через определенные промежутки времени. Если вы хотите обойти это, вам нужно установить собственный SMTP-сервер, например Apache James, который основан на Java, или Microsoft Exchange и так далее.
В конце концов, я предлагаю вам пройти через учебник JavaMail, чтобы вы лучше поняли.