在 Quarkus 中发送电子邮件时如何收到电子邮件错误?

How to get email errors when sending emails in Quarkus?

我正在用

发送电子邮件
public Response sendConfirmationEmail(String prefix, User user) {
    String emailConfirmToken = createEmailConfirmTokenIfRequired(user);
    verifyEmail
            .data("link", createEmailConfirmationUrl(prefix, user.getEmail(), emailConfirmToken))
            .data("emailConfirmToken", emailConfirmToken)
            .data("name", user.getName())
            .replyTo(replayTo)
            .to(user.getEmail())
            .subject(String.format("%s - Account Confirmation", appName)).send();
    return Response.status(Response.Status.CREATED).entity(user).build();

如何知道 sendmail 是否由于某些原因(例如 sendmail 密码错误或其他原因)而失败?

当您使用 io.quarkus.mailer.Mailer 时,如果出现问题,send 将抛出异常。

如果您使用 io.quarkus.mailer.reactive.ReactiveMailer,那 return 是一个 Uni,它有一个专用的错误处理程序。

更新

io.quarkus.mailer.MailTemplatesend方法returnUni<Void>需要订阅。 您当前的代码不会这样做。