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

标签 java jakarta-mail

我的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>

运行下面的代码,消息将正确发送到“收件人地址”。但是,“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()相同

关于JavaMail - 抄送和密件抄送地址被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48547596/

相关文章:

java - 使用 JavaMail 发送电子邮件,由于 "Connection refused"而收到 "too many connections"- 为什么?

java - block 大小为 n 的 Spring Batch 作业仅写入第 n 行 n 次

java - ListView 显示所有项目减去最后一个

java - 当我删除字段时,Firestore EventListener 导致 Null 异常

java - 在java中解析Multipart/Mixed与Multipart/Alternative body

java - javax.mail 的 mail.debug=true 选项应该做什么?

Java - 无需获取的信号量释放

java - 使用 JSF 提交数据表值并通过 javax.servlet.http.HttpServletRequest 访问它

java - 无法在 Glassfish 上部署的应用程序中发送电子邮件

java - 无法在java中向多个用户发送电子邮件