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

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

Поле 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 fun main() { val server = GreenMail(ServerSetupTest.SMTP) server.start() server.setUser("alpha@local.test", "alpha", "pass") server.setUser("beta@local.test", "beta", "pass") val props = Properties() props["mail.smtp.host"] = "127.0.0.1" props["mail.smtp.port"] = server.smtp.port.toString() props["mail.smtp.auth"] = "false" val session = Session.getInstance(props) val letter = MimeMessage(session) letter.setFrom(InternetAddress("writer@local.test")) letter.addRecipient( Message.RecipientType.TO, InternetAddress("alpha@local.test"), ) letter.addRecipient( Message.RecipientType.TO, InternetAddress("beta@local.test"), ) letter.subject = "Shared bulletin" letter.setText("One send, two inboxes.") Transport.send(letter) println(server.receivedMessages.size) server.stop() }

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

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

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

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