Smail/server/services/rule/match/contains_match.go
木木的木头 f4689d073c v2.2.0
2023-09-08 02:11:00 +08:00

25 lines
434 B
Go

package match
import (
"pmail/dto/parsemail"
"pmail/utils/context"
"strings"
)
type ContainsMatch struct {
Rule string
Field string
}
func NewContainsMatch(field, rule string) *ContainsMatch {
return &ContainsMatch{
Rule: rule,
Field: field,
}
}
func (r *ContainsMatch) Match(ctx *context.Context, email *parsemail.Email) bool {
content := getFieldContent(r.Field, email)
return strings.Contains(content, r.Rule)
}