Как заставить форматирование HTML работать с несколькими электронными письмами с помощью JavaMail

#java #html #gmail #jakarta-mail

#java #HTML #gmail #джакарта-почта

Вопрос:

Я пытаюсь отправить несколько электронных писем, в которых для форматирования используется HTML, но только первое электронное письмо отправляется как HTML, остальные отправляются в виде обычного текста.

Кто-нибудь знает, в чем может быть проблема?

Вот мой код для отправки нескольких электронных писем:

 public static int sendEmail(int ind) throws AddressException, MessagingException, InterruptedException, IOException {
    mailServerProperties = System.getProperties();
    mailServerProperties.put("mail.smtp.port", "587");
    mailServerProperties.put("mail.smtp.auth", "true");
    mailServerProperties.put("mail.smtp.starttls.enable", "true");
    getMailSession = Session.getDefaultInstance(mailServerProperties, null);
    generateMailMessage = new MimeMessage(getMailSession);
    generateMailMessage.setSubject("Greetings");
    Transport transport = getMailSession.getTransport("smtp");
    transport.connect("smtp.gmail.com", email, password);
    Person perp;
    for(int i = ind; i < people.size(); i  ){
        perp = people.get(i);
        generateMailMessage.setRecipient(Message.RecipientType.TO, new InternetAddress(perp.email));
        emailBody = "Dear "   perp.name   ", <br><br> Testing. <br><br>The Tester";
        generateMailMessage.setContent(emailBody, "text/html; charset=utf-8");
        generateMailMessage.setSubject("Greetings" i);
        try{
            transport.sendMessage(generateMailMessage, generateMailMessage.getAllRecipients());
            System.out.println(i);

        } catch(Exception SMTPSendFailedException) {
            System.out.println("Number " i " failed");
            ind = i;
            break;
        }
        ind = i;
    }
    System.out.println("round done");
    transport.close();
    return ind;
}
  

http://pastebin.com/JXyTBFFX

Комментарии:

1. Отредактируйте свой вопрос и включите код в свой вопрос. Внешние ссылки, как правило, со временем исчезают, что делает ваш вопрос бесполезным для будущих читателей.

2. Что показывает вывод отладки JavaMail ? Кроме того, вы захотите изменить Session.getDefaultInstance на Session.getInstance .