@@ -62,15 +62,17 @@ func send(s Sender, m *Message) error {
62
62
}
63
63
64
64
func (m * Message ) getFrom () (string , error ) {
65
+ fieldName := "Sender"
65
66
from := m .header ["Sender" ]
66
67
if len (from ) == 0 {
67
68
from = m .header ["From" ]
68
69
if len (from ) == 0 {
69
70
return "" , errors .New (`gomail: invalid message, "From" field is absent` )
70
71
}
72
+ fieldName = "From"
71
73
}
72
74
73
- return parseAddress (from [0 ])
75
+ return parseAddress (fieldName , from [0 ])
74
76
}
75
77
76
78
func (m * Message ) getRecipients () ([]string , error ) {
@@ -85,7 +87,7 @@ func (m *Message) getRecipients() ([]string, error) {
85
87
for _ , field := range []string {"To" , "Cc" , "Bcc" } {
86
88
if addresses , ok := m .header [field ]; ok {
87
89
for _ , a := range addresses {
88
- addr , err := parseAddress (a )
90
+ addr , err := parseAddress (field , a )
89
91
if err != nil {
90
92
return nil , err
91
93
}
@@ -107,10 +109,10 @@ func addAddress(list []string, addr string) []string {
107
109
return append (list , addr )
108
110
}
109
111
110
- func parseAddress (field string ) (string , error ) {
111
- addr , err := stdmail .ParseAddress (field )
112
+ func parseAddress (fieldName , fieldValue string ) (string , error ) {
113
+ addr , err := stdmail .ParseAddress (fieldValue )
112
114
if err != nil {
113
- return "" , fmt .Errorf ("gomail: invalid address %q: %v" , field , err )
115
+ return "" , fmt .Errorf ("gomail: invalid address %q for field %q : %v" , fieldValue , fieldName , err )
114
116
}
115
117
return addr .Address , nil
116
118
}
0 commit comments