]> Sergey Matveev's repositories - sgblog.git/commitdiff
Simplify RFC 2047 decoding
authorSergey Matveev <stargrave@stargrave.org>
Wed, 20 May 2020 08:37:50 +0000 (11:37 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Wed, 20 May 2020 08:37:50 +0000 (11:37 +0300)
cmd/sgblog-comment-add/mail.go

index 88d95d84a64cb0d6913ceac476452257ff77635d..ccb35da8970305b67d62479f133b9bd131753d77 100644 (file)
@@ -62,18 +62,10 @@ func parseEmail(msg *mail.Message) (subj string, body io.Reader, err error) {
                err = errors.New("no Subject")
                return
        }
-       words := strings.Fields(subj)
-       for i, word := range words {
-               if strings.HasPrefix(word, "=?") && strings.HasSuffix(word, "?=") {
-                       word, err = new(mime.WordDecoder).Decode(word)
-                       if err != nil {
-                               return
-                       }
-                       words[i] = word
-               }
+       subj, err = new(mime.WordDecoder).DecodeHeader(subj)
+       if err != nil {
+               return
        }
-       subj = strings.Join(words, " ")
-
        ct := msg.Header.Get(CT)
        if ct == "" {
                ct = "text/plain"