2015-04-24 7 views
0

Я отправляю почту с помощью весны, в которой я хочу несколько идентификаторов электронной почты в CC, все получают почту, но проблема в том, когда они открывают электронную почту в rackspace (apps.rackspace.com), она показывает только один идентификатор электронной почты в CC, но на самом деле есть несколько идентификаторов электронной почты, и когда я открываю одну и ту же почту в Mozilla Thunderbird, она показывает все идентификаторы электронной почты, которые я установил в CC почтыОтправить сообщение от MimeMessageHelper отправляет почту всем CC, но в rackspace он показывает только один идентификатор электронной почты в CC

куб.см в зкономит показан как CC: [email protected] (здесь 3 идентификаторы электронной почты в куб.см, но Rackspace показывает только один)

куб.см в Mozilla Thunderbird показан как CC: тест @ mydomain.com, test2 @ mydomain.com, test3 @ mydomain.com (здесь все 3 почтовых идентификаторов в куб.см отображает)

Мой почтовый представляемого код является:

здесь это те классы, которые я использую в коде ниже, да я инициализацией это объекты, которые я здесь не показаны

JavaMailSender mailConfig; 
MimeMessageHelper helper; 
MimeMessage message; 
String[] to;  
String[] cc; 


try { 

    message.setContent(msg, "text/html; charset=utf-8"); 
    message.setHeader("Content-Type", "text/html; charset=utf-8"); 

    if (toEmailIds == null) { 
     helper.setTo(to); 
    } else { 
     String[] toIds = toEmailIds.split(","); 

     for(String toAddress : toIds){ 
      helper.addTo(toAddress); 
     } 

    // helper.setTo(toIds); tried this too but it doesnot make any change 
    } 

    if (ccEmailIds != null) { 

     for(String ccAddress : ccEmailIds){ 
      helper.addCc (ccAddress); 
     } 

    // helper.setCc(ccEmailIds); 
    } 

    if (subject == null) { 
     helper.setSubject(defaultSubject); 
    } else { 
     helper.setSubject(subject); 
    } 

    SendMailByThread sendmailthread = new SendMailByThread(mailConfig, message); 
    new Thread(sendmailthread).start(); 
} catch (Exception e) { 
    isSentSuccessfully = false; 
    StringBuilder sb = new StringBuilder("cannot send mail to : "); 
    sb.append(Arrays.toString(to)); 
    sb.append(" \nerror message is : "); 
    sb.append(e.getMessage()); 
    sb.append(" \nemail content is : \n"); 
    sb.append(msg); 
    log.error(sb.toString(), e); 
    sb = null; 
} 
return isSentSuccessfully; 
+0

Звучит как rackspace сломан, сообщите о проблеме им. –

ответ

1

После нескольких проб и ошибок я получил решение,

Теперь я ставлю получателя в MimeMessage сообщении как этот

  Address[] ia = new InternetAddress[toIds.length]; 
      int i = 0; 
      for (String address : toIds) { 
       ia[i] = new InternetAddress(address); 
       i++; 
      } 

      message.addRecipients(RecipientType.TO, ia); 

INSTAND установления emailids в помощнике MimeMessageHelper в

helper.addTo(toAddress); 

И решить мою проблему, и я могу видеть все Получатель в области стеллажей тоже. :)