@@ -6675,8 +6675,7 @@ func TestMsg_WriteTo(t *testing.T) {
66756675 wants := []msgContentTest {
66766676 {0 , "Date:" , false , true , false },
66776677 {1 , "MIME-Version: 1.0" , true , true , false },
6678- {2 , "Message-ID: <" , false , true , false },
6679- {2 , ">" , false , false , true },
6678+ {2 , "Message-ID:" , false , true , false },
66806679 {8 , "Content-Type: multipart/mixed;" , true , true , false },
66816680 {9 , " boundary=" , false , true , false },
66826681 {10 , "" , true , false , false },
@@ -6706,8 +6705,7 @@ func TestMsg_WriteTo(t *testing.T) {
67066705 wants := []msgContentTest {
67076706 {0 , "Date:" , false , true , false },
67086707 {1 , "MIME-Version: 1.0" , true , true , false },
6709- {2 , "Message-ID: <" , false , true , false },
6710- {2 , ">" , false , false , true },
6708+ {2 , "Message-ID:" , false , true , false },
67116709 {8 , "Content-Type: multipart/alternative;" , true , true , false },
67126710 {9 , " boundary=" , false , true , false },
67136711 {10 , "" , true , false , false },
@@ -6746,8 +6744,7 @@ func TestMsg_WriteTo(t *testing.T) {
67466744 wants := []msgContentTest {
67476745 {0 , "Date:" , false , true , false },
67486746 {1 , "MIME-Version: 1.0" , true , true , false },
6749- {2 , "Message-ID: <" , false , true , false },
6750- {2 , ">" , false , false , true },
6747+ {2 , "Message-ID:" , false , true , false },
67516748 {8 , "Content-Type: multipart/alternative;" , true , true , false },
67526749 {9 , " boundary=" , false , true , false },
67536750 {10 , "" , true , false , false },
@@ -6781,8 +6778,7 @@ func TestMsg_WriteTo(t *testing.T) {
67816778 wants := []msgContentTest {
67826779 {0 , "Date:" , false , true , false },
67836780 {1 , "MIME-Version: 1.0" , true , true , false },
6784- {2 , "Message-ID: <" , false , true , false },
6785- {2 , ">" , false , false , true },
6781+ {2 , "Message-ID:" , false , true , false },
67866782 {6 , "From: <valid-from@domain.tld>" , true , true , false },
67876783 {7 , "To: <valid-to@domain.tld>" , true , true , false },
67886784 {8 , `Content-Type: multipart/mixed;` , true , true , false },
@@ -6852,8 +6848,7 @@ func TestMsg_WriteTo(t *testing.T) {
68526848 wants := []msgContentTest {
68536849 {0 , "Date:" , false , true , false },
68546850 {1 , "MIME-Version: 1.0" , true , true , false },
6855- {2 , "Message-ID: <" , false , true , false },
6856- {2 , ">" , false , false , true },
6851+ {2 , "Message-ID:" , false , true , false },
68576852 {6 , "From: <valid-from@domain.tld>" , true , true , false },
68586853 {7 , "To: <valid-to@domain.tld>" , true , true , false },
68596854 {
@@ -8188,28 +8183,41 @@ func hasSendmail() bool {
81888183
81898184func checkMessageContent (t * testing.T , buffer * bytes.Buffer , wants []msgContentTest ) {
81908185 t .Helper ()
8186+ longMsgID := false
8187+ addAfterLine := 0
81918188 lines := strings .Split (buffer .String (), "\r \n " )
8189+ for i := range lines {
8190+ if strings .EqualFold (lines [i ], "Message-ID:" ) {
8191+ longMsgID = true
8192+ addAfterLine = i
8193+ }
8194+ }
8195+
81928196 for _ , want := range wants {
8197+ addLine := 0
8198+ if longMsgID && want .line > addAfterLine {
8199+ addLine = 1
8200+ }
81938201 if len (lines ) <= want .line {
81948202 t .Errorf ("expected line %d to be present, got: %d lines in total" , want .line , len (lines )- 1 )
81958203 continue
81968204 }
8197- if ! strings .Contains (lines [want .line ], want .data ) {
8198- t .Errorf ("expected line %d to contain %q, got: %q" , want .line , want .data , lines [want .line ])
8205+ if ! strings .Contains (lines [want .line + addLine ], want .data ) {
8206+ t .Errorf ("expected line %d to contain %q, got: %q" , want .line , want .data , lines [want .line + addLine ])
81998207 }
82008208 if want .exact {
8201- if ! strings .EqualFold (lines [want .line ], want .data ) {
8202- t .Errorf ("expected line %d to be exactly %q, got: %q" , want .line , want .data , lines [want .line ])
8209+ if ! strings .EqualFold (lines [want .line + addLine ], want .data ) {
8210+ t .Errorf ("expected line %d to be exactly %q, got: %q" , want .line , want .data , lines [want .line + addLine ])
82038211 }
82048212 }
82058213 if want .dataIsPrefix {
8206- if ! strings .HasPrefix (lines [want .line ], want .data ) {
8207- t .Errorf ("expected line %d to start with %q, got: %q" , want .line , want .data , lines [want .line ])
8214+ if ! strings .HasPrefix (lines [want .line + addLine ], want .data ) {
8215+ t .Errorf ("expected line %d to start with %q, got: %q" , want .line , want .data , lines [want .line + addLine ])
82088216 }
82098217 }
82108218 if want .dataIsSuffix {
8211- if ! strings .HasSuffix (lines [want .line ], want .data ) {
8212- t .Errorf ("expected line %d to end with %q, got: %q" , want .line , want .data , lines [want .line ])
8219+ if ! strings .HasSuffix (lines [want .line + addLine ], want .data ) {
8220+ t .Errorf ("expected line %d to end with %q, got: %q" , want .line , want .data , lines [want .line + addLine ])
82138221 }
82148222 }
82158223 }
0 commit comments