Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jvSpMlSvr 295 of 322 menu
◀ ▶

Несколько получателей в Java

Поле To может содержать несколько адресов. Каждый вызов addRecipient с типом Message.RecipientType.TO добавляет ещё одного получателя; сервер доставит одну копию каждому из них.

На GreenMail регистрируют оба ящика, затем проверяют число принятых сообщений:

import com.icegreen.greenmail.util.GreenMail; import com.icegreen.greenmail.util.ServerSetupTest; import jakarta.mail.Message; import jakarta.mail.Session; import jakarta.mail.Transport; import jakarta.mail.internet.InternetAddress; import jakarta.mail.internet.MimeMessage; import java.util.Properties; public class Main { public static void main(String[] args) throws Exception { GreenMail server = new GreenMail(ServerSetupTest.SMTP); server.start(); server.setUser("alpha@local.test", "alpha", "pass"); server.setUser("beta@local.test", "beta", "pass"); Properties props = new Properties(); props.put("mail.smtp.host", "127.0.0.1"); props.put( "mail.smtp.port", String.valueOf(server.getSmtp().getPort()), ); props.put("mail.smtp.auth", "false"); Session session = Session.getInstance(props); MimeMessage letter = new MimeMessage(session); letter.setFrom(new InternetAddress("writer@local.test")); letter.addRecipient( Message.RecipientType.TO, new InternetAddress("alpha@local.test"), ); letter.addRecipient( Message.RecipientType.TO, new InternetAddress("beta@local.test"), ); letter.setSubject("Shared bulletin"); letter.setText("One send, two inboxes."); Transport.send(letter); System.out.println(server.getReceivedMessages().length); server.stop(); } }

В консоли появляется 2 - по одному письму на каждый зарегистрированный адрес получателя.

Добавьте третьего получателя gamma@local.test с отдельным setUser. Выведите количество принятых сообщений после отправки.

Отправьте письмо только на alpha@local.test и beta@local.test с темой "Pair". Выведите тему первого элемента массива принятых писем.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить