GODT-2181: Empty but not nil address from API
This commit is contained in:
parent
0b61f8f146
commit
407c9fe1a6
|
@ -381,6 +381,18 @@ func writeMultipartEncryptedRFC822(header message.Header, body []byte) ([]byte,
|
||||||
return buf.Bytes(), nil
|
return buf.Bytes(), nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func addressEmpty(address *mail.Address) bool {
|
||||||
|
if address == nil {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
if address.Name == "" && address.Address == "" {
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
func getMessageHeader(msg proton.Message, opts JobOptions) message.Header { //nolint:funlen
|
func getMessageHeader(msg proton.Message, opts JobOptions) message.Header { //nolint:funlen
|
||||||
hdr := toMessageHeader(msg.ParsedHeaders)
|
hdr := toMessageHeader(msg.ParsedHeaders)
|
||||||
|
|
||||||
|
@ -390,12 +402,14 @@ func getMessageHeader(msg proton.Message, opts JobOptions) message.Header { //no
|
||||||
}
|
}
|
||||||
|
|
||||||
// mail.Address.String() will RFC2047-encode if necessary.
|
// mail.Address.String() will RFC2047-encode if necessary.
|
||||||
if msg.Sender != nil {
|
if !addressEmpty(msg.Sender) {
|
||||||
hdr.Set("From", msg.Sender.String())
|
hdr.Set("From", msg.Sender.String())
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(msg.ReplyTos) > 0 {
|
if len(msg.ReplyTos) > 0 {
|
||||||
hdr.Set("Reply-To", toAddressList(msg.ReplyTos))
|
if !(len(msg.ReplyTos) == 1 && addressEmpty(msg.ReplyTos[0])) {
|
||||||
|
hdr.Set("Reply-To", toAddressList(msg.ReplyTos))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(msg.ToList) > 0 {
|
if len(msg.ToList) > 0 {
|
||||||
|
|
|
@ -136,7 +136,7 @@ Feature: IMAP import messages
|
||||||
| foo@example.com | bridgetest@pm.test | Hello | Hello |
|
| foo@example.com | bridgetest@pm.test | Hello | Hello |
|
||||||
And IMAP client "1" sees 0 messages in "Inbox"
|
And IMAP client "1" sees 0 messages in "Inbox"
|
||||||
|
|
||||||
Scenario Outline: Import message without sender
|
Scenario Outline: Import message without sender to <mailbox>
|
||||||
When IMAP client "1" appends the following message to "<mailbox>":
|
When IMAP client "1" appends the following message to "<mailbox>":
|
||||||
"""
|
"""
|
||||||
To: Lionel Richie <lionel@richie.com>
|
To: Lionel Richie <lionel@richie.com>
|
||||||
|
|
Loading…
Reference in New Issue