11package imap
22
33import (
4+ "github.com/ProtonMail/gluon/rfc5322"
45 "net/mail"
56 "strings"
67
7- "github.com/ProtonMail/gluon/internal/parser"
88 "github.com/ProtonMail/gluon/rfc822"
99 "github.com/sirupsen/logrus"
1010)
@@ -29,47 +29,44 @@ func envelope(header *rfc822.Header, c *paramList, writer parListWriter) error {
2929 addString (writer , header .Get ("Date" )).
3030 addString (writer , header .Get ("Subject" ))
3131
32- addressParser := parser .NewRFC5322AddressListParser ()
33- defer addressParser .Close ()
34-
3532 if v , ok := header .GetChecked ("From" ); ! ok {
3633 fields .addString (writer , "" )
3734 } else {
38- fields .addAddresses (writer , tryParseAddressList (addressParser , v ))
35+ fields .addAddresses (writer , tryParseAddressList (v ))
3936 }
4037
4138 if v , ok := header .GetChecked ("Sender" ); ok {
42- fields .addAddresses (writer , tryParseAddressList (addressParser , v ))
39+ fields .addAddresses (writer , tryParseAddressList (v ))
4340 } else if v , ok := header .GetChecked ("From" ); ok {
44- fields .addAddresses (writer , tryParseAddressList (addressParser , v ))
41+ fields .addAddresses (writer , tryParseAddressList (v ))
4542 } else {
4643 fields .addString (writer , "" )
4744 }
4845
4946 if v , ok := header .GetChecked ("Reply-To" ); ok {
50- fields .addAddresses (writer , tryParseAddressList (addressParser , v ))
47+ fields .addAddresses (writer , tryParseAddressList (v ))
5148 } else if v , ok := header .GetChecked ("From" ); ok {
52- fields .addAddresses (writer , tryParseAddressList (addressParser , v ))
49+ fields .addAddresses (writer , tryParseAddressList (v ))
5350 } else {
5451 fields .addString (writer , "" )
5552 }
5653
5754 if v , ok := header .GetChecked ("To" ); ! ok {
5855 fields .addString (writer , "" )
5956 } else {
60- fields .addAddresses (writer , tryParseAddressList (addressParser , v ))
57+ fields .addAddresses (writer , tryParseAddressList (v ))
6158 }
6259
6360 if v , ok := header .GetChecked ("Cc" ); ! ok {
6461 fields .addString (writer , "" )
6562 } else {
66- fields .addAddresses (writer , tryParseAddressList (addressParser , v ))
63+ fields .addAddresses (writer , tryParseAddressList (v ))
6764 }
6865
6966 if v , ok := header .GetChecked ("Bcc" ); ! ok {
7067 fields .addString (writer , "" )
7168 } else {
72- fields .addAddresses (writer , tryParseAddressList (addressParser , v ))
69+ fields .addAddresses (writer , tryParseAddressList (v ))
7370 }
7471
7572 fields .addString (writer , header .Get ("In-Reply-To" ))
@@ -79,8 +76,8 @@ func envelope(header *rfc822.Header, c *paramList, writer parListWriter) error {
7976 return nil
8077}
8178
82- func tryParseAddressList (parser * parser. RFC5322AddressListParser , val string ) []* mail.Address {
83- addr , err := parser . Parse (val )
79+ func tryParseAddressList (val string ) []* mail.Address {
80+ addr , err := rfc5322 . ParseAddressList (val )
8481 if err != nil {
8582 logrus .WithError (err ).Error ("Failed to parse address" )
8683 return []* mail.Address {{Name : val }}
0 commit comments