You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Quarkus Mailer扩展以支持基于用户的动态发件人邮箱

动态设置Quarkus邮件发件人

你可以通过Mail类的链式方法或setFrom()方法动态指定发件人,这个设置会覆盖配置文件里的默认quarkus.mailer.from值,刚好适配你的业务场景。

修改后的代码可以这样写:

public void sendEmail(EmailSender emailSender) {
    // Send to each recipient
    emailMessageRepository.findByEmailSenderId(emailSender.getId())
        .forEach(emailMessage ->
                mailer.send(
                    Mail.withText(emailMessage.getEmail(),
                                 emailSender.getSubject(),
                                 emailSender.getMessage())
                        .from(emailSender.getSenderEmail()) // 动态设置发件人
                )
        );
}

如果更习惯分步构建邮件对象,也可以用这种写法:

public void sendEmail(EmailSender emailSender) {
    emailMessageRepository.findByEmailSenderId(emailSender.getId())
        .forEach(emailMessage -> {
            Mail mail = Mail.withText(emailMessage.getEmail(),
                                     emailSender.getSubject(),
                                     emailSender.getMessage());
            mail.setFrom(emailSender.getSenderEmail()); // 动态设置发件人
            mailer.send(mail);
        });
}

只要确保EmailSender类包含对应发件人邮箱的字段(比如示例里的senderEmail),就能实现不同用户使用唯一发件人发送邮件的需求。

内容的提问来源于stack exchange,提问作者nkmuturi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 00:42:41