简体   繁体   English

JavaMail-抄送和密件抄送地址被忽略

[英]JavaMail - CC and BCC address ignored

My java appication uses Spring JavaMail for send messages. 我的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>

Running the code below, the messages are sent correctly to "To address". 运行下面的代码,消息将正确发送到“收件人”。 But, the "CC" and "BCC" are ignored. 但是,“ 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);
        }

Can anyone help me with this problem? 谁能帮助我解决这个问题? Thanks a lot! 非常感谢!

No wonder they are ignored: You just made a typo in both lines: 难怪它们被忽略了:您只是在两行中输入了错字:

email.getCc().isEmpty()

should be: 应该:

!email.getCc().isEmpty()

Same in email.getBcc().isEmpty() . email.getBcc().isEmpty()

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM