【问题标题】:How to get value from a list of a specific column using comma separated string如何使用逗号分隔的字符串从特定列的列表中获取值
【发布时间】:2021-01-15 12:47:20
【问题描述】:

我想向多个人发送电子邮件,并希望从电子邮件收件人列表中获取这些电子邮件。

{
  "webId": 1001,
  "externalKey": null,
  "fromEmail": "test@gmail.com",
  "fromName": "TEST",
  "subject": "hello",
  "body": "This is a test mail",
  "status": 1,
  "sentDate": null,
  "sendAttempts": 1,
  "permanentFailure": false,
  "emailRecipientModel": [
  {
    "webId": 1101,
    "emailId": 1001,
    "emailAddress": "tets1@gmail.com",
    "status": "PENDING",
    "smtpStatusCode": 123,
    "recipientType": "TO"
  },
  {
    "webId": 1102,
    "emailId": 1001,
    "emailAddress": "test2@gmail.com",
    "status": "PENDING",
    "smtpStatusCode": 123,
    "recipientType": "TO"
  }
  ],
 }

现在我想获取两个电子邮件收件人的电子邮件地址。

在我的电子邮件模型类中。我有一个 emailRecipients 列表。

现在如何获取电子邮件地址或所有电子邮件收件人。

这是我发送电子邮件的功能。

MimeMessage message = javaMailSender.createMimeMessage();
MimeMessageHelper helper = new MimeMessageHelper(message,true);
helper.setFrom(email.getFromEmail());
helper.setTo(email.getEmailRecipient().);      // need to add all the recipients here using comma separated list
helper.setSubject(email.getSubject());
helper.setText(email.getBody());
        
javaMailSender.send(message);

【问题讨论】:

    标签: java json spring spring-boot email


    【解决方案1】:
    MimeMessage message = javaMailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message,true);
    helper.setFrom(email.getFromEmail());
    
    String recipients = email.getEmailRecipient().stream()
                                       .map(e -> e.getEmailAddress())
                                       .collect( Collectors.joining( "," ) );
    
    helper.setTo(recipients);   
    helper.setSubject(email.getSubject());
    helper.setText(email.getBody());
            
    javaMailSender.send(message);
    

    【讨论】:

      【解决方案2】:

      假设您的方法 email.getEmailRecipient() 返回一个字符串列表,您可以执行类似的操作

      helper.setTo(email.getEmailRecipient().stream().toArray(String[]::new));
      

      helper.setTo(email.getEmailRecipient().toArray(new String[0]));
      

      【讨论】:

      • email.getEmailRecipient() 返回整个数组或列表。
      猜你喜欢
      • 1970-01-01
      • 2014-03-22
      • 2019-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多