Персонализированные письма нескольким людям, использующим JavaMailSender - PullRequest
0 голосов
/ 01 октября 2019

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

Кому: Abc, xyz

Содержимое почты:

Hi Abc, ...

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

1 Ответ

3 голосов
/ 01 октября 2019

Я думаю, что вы хотите достичь, иметь некоторое противоречие. Что касается вашего вопроса, давайте представим, что разные люди получат электронное письмо со списком «To:», показывающим несколько получателей, например, To: Abc, xyz. Однако у каждого из них есть содержимое электронной почты, показывающее их собственное имя ...

Результат будет таким, как показано на графике ниже:

enter image description here

Я думаю, что это будет нечто, что может быть достигнуто только на стороне клиента (на стороне получателя), но невозможно через API на стороне сервера (на стороне отправителя).

Если вы действительно хотите иметь некоторый контроль на стороне отправителя, то у вас нет других вариантов, но вы можете отправить электронное письмо только несколько раз в зависимости от того, сколько получателей вы хотите.

Ниже приведен пример для справки:

private JavaMailSender emailSender;

public void sendSimpleMessage() {

    String[] multipleRecepients = new String[] {"ABC", "xyz"};
    String subject = " This is Email subject";

    String text = "Hi {0} ,\r\n Nice to reach you through email.";
    MessageFormat mf = new MessageFormat(text);


    for (int i = 0 ; i < multipleRecepients.length; i++) {
        SimpleMailMessage message = new SimpleMailMessage();
        message.setTo(multipleRecepients[i]);
        message.setSubject(subject); 
        message.setText(mf.format(new Object[] {multipleRecepients[i]}));
        emailSender.send(message);
    }

}

Примечание:

Для приведенного выше примера кода не пытайтесь поставитьМножественный массив множественных приемников напрямую в метод setTo (...) [т.е. message.setTo (множественные отзывы)]. В противном случае каждый получатель получит копию, которая ему не принадлежит (приветствие - имя другого получателя).

...