在 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.MailTemplate
的send
方法returnUni<Void>
需要订阅。
您当前的代码不会这样做。
我正在用
发送电子邮件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.MailTemplate
的send
方法returnUni<Void>
需要订阅。
您当前的代码不会这样做。