From ad85a1db93878d56211f6969b192c0068df2385b Mon Sep 17 00:00:00 2001 From: James Hillyerd Date: Fri, 15 Nov 2013 12:03:27 -0800 Subject: [PATCH] Set content-type properly on MailboxHtml handler - Changes to upstream go.enmime help with #20 - Setting content-type is required so that browsers correclty render docs that don't include an element. --- swaks-tests/{html.raw => mime-html.raw} | 0 swaks-tests/nonmime-html.raw | 8 ++++++++ swaks-tests/run-tests.sh | 5 ++++- web/mailbox_controller.go | 1 + 4 files changed, 13 insertions(+), 1 deletion(-) rename swaks-tests/{html.raw => mime-html.raw} (100%) create mode 100644 swaks-tests/nonmime-html.raw diff --git a/swaks-tests/html.raw b/swaks-tests/mime-html.raw similarity index 100% rename from swaks-tests/html.raw rename to swaks-tests/mime-html.raw diff --git a/swaks-tests/nonmime-html.raw b/swaks-tests/nonmime-html.raw new file mode 100644 index 0000000..7f45889 --- /dev/null +++ b/swaks-tests/nonmime-html.raw @@ -0,0 +1,8 @@ +Date: %DATE% +To: %TO_ADDRESS% +From: %FROM_ADDRESS% +Subject: Swaks HTML +MIME-Version: 1.0 +Content-Type: text/html; charset="UTF-8" + +This is a test of HTML at the top level. diff --git a/swaks-tests/run-tests.sh b/swaks-tests/run-tests.sh index b89ec0e..4a9044b 100755 --- a/swaks-tests/run-tests.sh +++ b/swaks-tests/run-tests.sh @@ -7,7 +7,10 @@ export SWAKS_OPT_to="swaks@inbucket.local" swaks $* --h-Subject: "Swaks Plain Text" --body text.txt # HTML test -swaks $* --h-Subject: "Swaks HTML" --data html.raw +swaks $* --h-Subject: "Swaks HTML" --data mime-html.raw + +# Top level HTML test +swaks $* --h-Subject: "Swaks Top Level HTML" --data nonmime-html.raw # Attachment test swaks $* --h-Subject: "Swaks Attachment" --attach-type image/png --attach favicon.png --body text.txt diff --git a/web/mailbox_controller.go b/web/mailbox_controller.go index a2d2dbf..79a1a89 100644 --- a/web/mailbox_controller.go +++ b/web/mailbox_controller.go @@ -210,6 +210,7 @@ func MailboxHtml(w http.ResponseWriter, req *http.Request, ctx *Context) (err er return err } + w.Header().Set("Content-Type", "text/html") return RenderPartial("mailbox/_html.html", w, map[string]interface{}{ "ctx": ctx, "name": name,