diff --git a/common/logger/logger.go b/common/logger/logger.go index 1e3bc254..b5348033 100644 --- a/common/logger/logger.go +++ b/common/logger/logger.go @@ -57,6 +57,14 @@ func SysLogf(format string, a ...any) { logHelper(nil, loggerINFO, fmt.Sprintf(format, a...)) } +func SysWarn(s string) { + logHelper(nil, loggerWarn, s) +} + +func SysWarnf(format string, a ...any) { + logHelper(nil, loggerWarn, fmt.Sprintf(format, a...)) +} + func SysError(s string) { logHelper(nil, loggerError, s) } diff --git a/common/message/email.go b/common/message/email.go index 4e742f33..85a83d6d 100644 --- a/common/message/email.go +++ b/common/message/email.go @@ -11,6 +11,7 @@ import ( "time" "github.com/songquanpeng/one-api/common/config" + "github.com/songquanpeng/one-api/common/logger" ) func shouldAuth() bool { @@ -102,5 +103,9 @@ func SendEmail(subject string, receiver string, content string) error { return nil } err = smtp.SendMail(addr, auth, config.SMTPAccount, to, mail) + if err != nil && strings.Contains(err.Error(), "short response") { // 部分提供商返回该错误,但实际上邮件已经发送成功 + logger.SysWarnf("short response from SMTP server, return nil instead of error: %s", err.Error()) + return nil + } return err }