Files
archivmail/pkg/mailparser/bcc.go
T

31 lines
519 B
Go

package mailparser
import (
"net/mail"
"strings"
)
func bccAddresses(header string) []string {
if strings.TrimSpace(header) == "" {
return nil
}
addrs, err := mail.ParseAddressList(header)
if err != nil {
return nil
}
var out []string
seen := make(map[string]struct{})
for _, a := range addrs {
addr := strings.ToLower(strings.TrimSpace(a.Address))
if addr == "" {
continue
}
if _, dup := seen[addr]; dup {
continue
}
seen[addr] = struct{}{}
out = append(out, addr)
}
return out
}