contains_match.go 472 B

123456789101112131415161718192021222324
  1. package match
  2. import (
  3. "github.com/Jinnrry/pmail/dto/parsemail"
  4. "github.com/Jinnrry/pmail/utils/context"
  5. "strings"
  6. )
  7. type ContainsMatch struct {
  8. Rule string
  9. Field string
  10. }
  11. func NewContainsMatch(field, rule string) *ContainsMatch {
  12. return &ContainsMatch{
  13. Rule: rule,
  14. Field: field,
  15. }
  16. }
  17. func (r *ContainsMatch) Match(ctx *context.Context, email *parsemail.Email) bool {
  18. content := getFieldContent(r.Field, email)
  19. return strings.Contains(content, r.Rule)
  20. }