|
|
@@ -198,21 +198,22 @@ func (s *Server) SendSmsCode(c *gin.Context) {
|
|
|
} else {
|
|
|
// 发送邮件验证码
|
|
|
var smtpHost, smtpPortStr, smtpUser, smtpPass, smtpFrom string
|
|
|
- var config entity.DtConfig
|
|
|
- if err := db.Where("`key` = ?", entity.ConfigKeySmtpHost).First(&config).Error; err == nil {
|
|
|
- smtpHost = config.Value
|
|
|
- }
|
|
|
- if err := db.Where("`key` = ?", entity.ConfigKeySmtpPort).First(&config).Error; err == nil {
|
|
|
- smtpPortStr = config.Value
|
|
|
- }
|
|
|
- if err := db.Where("`key` = ?", entity.ConfigKeySmtpUser).First(&config).Error; err == nil {
|
|
|
- smtpUser = config.Value
|
|
|
- }
|
|
|
- if err := db.Where("`key` = ?", entity.ConfigKeySmtpPass).First(&config).Error; err == nil {
|
|
|
- smtpPass = config.Value
|
|
|
- }
|
|
|
- if err := db.Where("`key` = ?", entity.ConfigKeySmtpFrom).First(&config).Error; err == nil {
|
|
|
- smtpFrom = config.Value
|
|
|
+ // 批量查询所有smtp配置,避免复用同一struct导致GORM主键污染
|
|
|
+ var smtpConfigs []entity.DtConfig
|
|
|
+ db.Where("`group` = ?", "smtp").Find(&smtpConfigs)
|
|
|
+ for _, cfg := range smtpConfigs {
|
|
|
+ switch cfg.Key {
|
|
|
+ case entity.ConfigKeySmtpHost:
|
|
|
+ smtpHost = cfg.Value
|
|
|
+ case entity.ConfigKeySmtpPort:
|
|
|
+ smtpPortStr = cfg.Value
|
|
|
+ case entity.ConfigKeySmtpUser:
|
|
|
+ smtpUser = cfg.Value
|
|
|
+ case entity.ConfigKeySmtpPass:
|
|
|
+ smtpPass = cfg.Value
|
|
|
+ case entity.ConfigKeySmtpFrom:
|
|
|
+ smtpFrom = cfg.Value
|
|
|
+ }
|
|
|
}
|
|
|
if smtpFrom == "" {
|
|
|
smtpFrom = "Vitiens"
|