go-gmime
go-gmime copied to clipboard
Update Headers and RawHeaders using canonical MIME keys.
Hello!
Thank you for the package!
I've discovered problems using msg.Headers().Get("Message-ID")
which I try to fix in this PR.
If you have a header like
Message-ID: msg@id
You can't use msg.Headers().Get("Message-ID")
or msg.Headers().Get("Message-Id")
, as you get an empty string. Because MIMEHeader.Get uses CanonicalMIMEHeaderKey.
I reproduced this with tests (included with the PR)
=== RUN TestHeaders
gmime_test.go:182:
Error Trace: gmime_test.go:182
Error: Not equal:
expected: "<CAGPJ=uY91HEGoszHE9ELkB3wfcNJN4NGORM9q-vV8o_XJceBmg@mail.gmail.com>"
actual : ""
Diff:
--- Expected
+++ Actual
@@ -1 +1 @@
-<CAGPJ=uY91HEGoszHE9ELkB3wfcNJN4NGORM9q-vV8o_XJceBmg@mail.gmail.com>
+
Test: TestHeaders
gmime_test.go:183:
Error Trace: gmime_test.go:183
Error: Not equal:
expected: "<CAGPJ=uY91HEGoszHE9ELkB3wfcNJN4NGORM9q-vV8o_XJceBmg@mail.gmail.com>"
actual : ""
Diff:
--- Expected
+++ Actual
@@ -1 +1 @@
-<CAGPJ=uY91HEGoszHE9ELkB3wfcNJN4NGORM9q-vV8o_XJceBmg@mail.gmail.com>
+
Test: TestHeaders
...
=== RUN TestRawHeaders
gmime_test.go:218:
Error Trace: gmime_test.go:218
Error: Not equal:
expected: " <CAGPJ=uY91HEGoszHE9ELkB3wfcNJN4NGORM9q-vV8o_XJceBmg@mail.gmail.com>\n"
actual : ""
Diff:
--- Expected
+++ Actual
@@ -1,2 +1 @@
- <CAGPJ=uY91HEGoszHE9ELkB3wfcNJN4NGORM9q-vV8o_XJceBmg@mail.gmail.com>
Test: TestRawHeaders
gmime_test.go:219:
Error Trace: gmime_test.go:219
Error: Not equal:
expected: " <CAGPJ=uY91HEGoszHE9ELkB3wfcNJN4NGORM9q-vV8o_XJceBmg@mail.gmail.com>\n"
actual : ""
Diff:
--- Expected
+++ Actual
@@ -1,2 +1 @@
- <CAGPJ=uY91HEGoszHE9ELkB3wfcNJN4NGORM9q-vV8o_XJceBmg@mail.gmail.com>