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

Простое письмо в Kotlin

Простое письмо состоит из одной текстовой части без HTML и вложений. Метод setText у MimeMessage задает содержимое в кодировке по умолчанию и выставляет тип text/plain.

После Transport.send тело принятого сообщения читают через getContent и приводят к строке:

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("reader@local.test", "reader", "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.setRecipient( Message.RecipientType.TO, InternetAddress("reader@local.test"), ) letter.subject = "Plain sample" letter.setText("The shipment left the warehouse at noon.") Transport.send(letter) val body = server.receivedMessages[0].content as String println(body) server.stop() }

В выводе - полный текст без темы и служебных заголовков. Так проверяют, что клиент и тестовый сервер согласованы по адресу получателя и порту SMTP.

Отправьте письмо с темой "Status" и текстом "All items packed." на reader@local.test. Выведите тело из локального ящика.

Задайте текст из двух строк: "Line one" и "Line two" через символ перевода строки. После отправки выведите тело целиком.

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