提问者:小点点

JavaMailSenderImpl配置一个电子邮件地址并使用另一个作为MimeMessageHelper.set但说权限问题


我已经配置了我的电子邮件属性,但是从地址发送电子邮件时动态更改

我试过使用与来自地址相同的电子邮件地址,然后它可以工作,但如果我使用不同的一个获得许可问题。

电子邮件配置是:

<bean id = "mailSender"class="org.springframework.mail.javamail.JavaMailSenderImpl"><
    property name = "host"value="mail.******.com"/><
    property name="port"value="587"/><
    property name="username"value="support@*****.com"/><
    property name="password"value="******"/><
    property name="javaMailProperties">
        <props><
    prop key="mail.transport.protocol">smtp</prop><
    prop key="mail.debug">true</prop>
        </props>
    </property>
</bean>
public void sendBulkEmail(String[] to, NewCampaignDTO campaign, String mailTemplate) throws MailException {
    if (isMailsBlocaked()) {
        to = new String[0];
    }
    MimeMessagePreparator preparator = imsGeneralUtils.prepareBulkEmailMessage(to, campaign, mailTemplate);
    // Send Message
    javaMailSender.send(preparator);

}
public MimeMessagePreparator prepareBulkEmailMessage(String[] to, Object campaign, String mailTemplate) {
    return new MimeMessagePreparator() {
        @Override
        public void prepare(MimeMessage mimeMessage) throws Exception {
            MimeMessageHelper message = new MimeMessageHelper(mimeMessage, true, CharEncoding.UTF_8);
            message.setBcc(AddToStringArray(to, DEFAULT_MAIL_TO_ALL));
            message.setSubject(campaign.getSubject());
            message.setFrom(campaign.getFromEmail(), campaign.getFromName());
            message.setReplyTo(campaign.getReplyToEmail());
            Map<String, Object> model = new HashMap<>();
            model.put("objInfo", campaign.getEmailBody());
            model.put("url", getSettingValue(Settings.FRONT_END_APP_URL));
            String body = FreeMarkerTemplateUtils
                    .processTemplateIntoString(freeMakerConfig.getTemplate(mailTemplate), model);
            message.setText(body, true);
        }
    };
}

失败的消息:com.sun.mail.smtp.SMTPSendFailed异常:550 5.7.1客户端没有权限以此发件人身份发送


共1个答案

匿名用户

您需要为该电子邮件启用 SMTP。如果问题仍然存在,请启用调试并查看。谢谢