From a941162edd28c03abb3a10fcddd4ec4bdf651946 Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 3 Aug 2023 14:16:33 +0000 Subject: [PATCH] server/email: don't panic in EmailRecover A panic in here is not great, because this function is supposed to be the panic handler. Let's just log the error instead. --- server/email.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/email.go b/server/email.go index 2a403dd6801a23d0d600b5504f1b5f20344725c5..73faabd58c149ba89bcce989a2beb1ac8dcfd709 100644 --- a/server/email.go +++ b/server/email.go @@ -60,7 +60,8 @@ func EmailRecover(ctx context.Context, _origErr interface{}) error { } rcpt, err := gomail.ParseAddress(to) if err != nil { - panic(errors.New("Failed to parse sender address")) + log.Printf("Warning: mail::error-to is invalid: %v", err) + return fmt.Errorf("internal system error") } addr := mail.Address(*rcpt) header.SetAddressList("To", []*mail.Address{&addr})