JavaMail - CC 和 BCC 地址被忽略

JavaMail - CC and BCC address ignored

我的 java 应用程序使用 Spring JavaMail 发送消息。

<bean id="mailMessage" class="org.springframework.mail.SimpleMailMessage"/>

<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> 
        <property name="host" value="${email.smtp}" />
        <property name="username" value="${email.user}" />
        <property name="password" value="${email.password}" />
        <property name="port" value="${email.port}" />
        <property name="javaMailProperties"> 
            <props> 
                <prop key="mail.transport.protocol">smtp</prop>
                <prop key="mail.smtp.auth">true</prop>
                <prop key="mail.debug">true</prop>
                <prop key="mail.mime.multipart.allowempty">true</prop>
            </props> 
        </property> 
    </bean>

运行 下面的代码,消息被正确发送到 "To address"。但是,"CC" 和 "BCC" 将被忽略。

        MimeMessage message = ((JavaMailSender)mailSender).createMimeMessage();

        MimeMessageHelper helper = new MimeMessageHelper(message, email.isMultipart(), "UTF-8");
        helper.setFrom(new InternetAddress(email.getFrom(), personal, "UTF-8"));
        helper.setTo(email.getTo().split(","));
        helper.setSubject(email.getSubject());
        helper.setText(email.getText(), email.isHtml());

        if (email.getCc() != null && email.getCc().isEmpty()) {
           helper.setCc(email.getCc().split(","));
        }


        if (email.getBcc() != null && email.getBcc().isEmpty()) {
           helper.setBcc(email.getBcc().split(","));
        }

        if (!emailHidden) {
            ((JavaMailSender)mailSender).send(message);
        }

谁能帮我解决这个问题?非常感谢!

难怪它们会被忽略:你刚刚在两行中都打错了字:

email.getCc().isEmpty()

应该是:

!email.getCc().isEmpty()

email.getBcc().isEmpty()中相同。