1
0
mirror of https://github.com/axllent/mailpit.git synced 2025-04-21 12:17:05 +02:00

Fix: Extract plus addresses from email addresses only, not names

This commit is contained in:
Ralph Slooten 2024-04-01 18:16:09 +13:00
parent cb34e1f561
commit 5166a761ec

View File

@ -246,24 +246,24 @@ func findTagsInRawMessage(message *[]byte) string {
func (d DBMailSummary) tagsFromPlusAddresses() string { func (d DBMailSummary) tagsFromPlusAddresses() string {
tags := []string{} tags := []string{}
for _, c := range d.To { for _, c := range d.To {
matches := addressPlusRe.FindAllStringSubmatch(c.String(), 1) matches := addressPlusRe.FindAllStringSubmatch(c.Address, 1)
if len(matches) == 1 { if len(matches) == 1 {
tags = append(tags, strings.Split(matches[0][2], "+")...) tags = append(tags, strings.Split(matches[0][2], "+")...)
} }
} }
for _, c := range d.Cc { for _, c := range d.Cc {
matches := addressPlusRe.FindAllStringSubmatch(c.String(), 1) matches := addressPlusRe.FindAllStringSubmatch(c.Address, 1)
if len(matches) == 1 { if len(matches) == 1 {
tags = append(tags, strings.Split(matches[0][2], "+")...) tags = append(tags, strings.Split(matches[0][2], "+")...)
} }
} }
for _, c := range d.Bcc { for _, c := range d.Bcc {
matches := addressPlusRe.FindAllStringSubmatch(c.String(), 1) matches := addressPlusRe.FindAllStringSubmatch(c.Address, 1)
if len(matches) == 1 { if len(matches) == 1 {
tags = append(tags, strings.Split(matches[0][2], "+")...) tags = append(tags, strings.Split(matches[0][2], "+")...)
} }
} }
matches := addressPlusRe.FindAllStringSubmatch(d.From.String(), 1) matches := addressPlusRe.FindAllStringSubmatch(d.From.Address, 1)
if len(matches) == 1 { if len(matches) == 1 {
tags = append(tags, strings.Split(matches[0][2], "+")...) tags = append(tags, strings.Split(matches[0][2], "+")...)
} }