gpt4 book ai didi

java - 通过 MimeMessageHelper 发送邮件将邮件发送到所有 CC,但在机架空间中它仅显示 CC 中的一个电子邮件 ID

转载 作者:行者123 更新时间:2023-12-02 04:44:02 27 4
gpt4 key购买 nike

我正在 Spring 的帮助下发送邮件,其中我想要 CC 中的多个电子邮件 ID,所有人都会收到邮件,但问题是当他们在rackspace(apps.rackspace.com)中打开电子邮件时,它只显示一封电子邮件CC 中的 ID,但实际上有多个电子邮件 ID,当我在 Mozilla Thunderbird 中打开同一邮件时,它会显示我在邮件 CC 中设置的所有电子邮件 ID

cc in rackspace is shown as CC:test@mydomain.com (here 3 email ids in cc,but rackspace shows only one)

cc in Mozilla Thunderbird is shown as CC:test@mydomain.com,test2@mydomain.com,test3@mydomain.com (here all 3 email ids in cc is displaying)

我的邮件发送代码是:

这是我在下面的代码中使用的类,是的,我正在初始化这个我没有在此处显示的对象

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;

最佳答案

经过一番尝试和错误,我得到了解决方案,

现在我正在 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);

在 MimeMessageHelper 帮助器中将 emailid 设置为

helper.addTo(toAddress);

它解决了我的问题,我也能够在机架空间中看到所有收件人。 :)

关于java - 通过 MimeMessageHelper 发送邮件将邮件发送到所有 CC,但在机架空间中它仅显示 CC 中的一个电子邮件 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29844525/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com