From 72ec3f714262f9005c6dd1772d09d7c84fbd9956 Mon Sep 17 00:00:00 2001 From: "mathias.wasserthal" Date: Fri, 12 Dec 2014 15:22:56 +0100 Subject: [PATCH 1/2] correct display of text/plain and text/html multipart messages with quoted-printable transfer type --- MailHog-UI/assets/js/controllers.js | 11 +++++++++-- MailHog-UI/assets/templates/index.html | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/MailHog-UI/assets/js/controllers.js b/MailHog-UI/assets/js/controllers.js index 09e654f..11993d5 100644 --- a/MailHog-UI/assets/js/controllers.js +++ b/MailHog-UI/assets/js/controllers.js @@ -181,7 +181,7 @@ mailhogApp.controller('MailCtrl', function ($scope, $http, $sce, $timeout) { $scope.getMessagePlain = function(message) { var l = $scope.findMatchingMIME(message, "text/plain"); if(l != null && l !== "undefined") { - return l.Body; + return $scope.tryDecode(l); } return message.Content.Body; } @@ -217,11 +217,18 @@ mailhogApp.controller('MailCtrl', function ($scope, $http, $sce, $timeout) { $scope.getMessageHTML = function(message) { var l = $scope.findMatchingMIME(message, "text/html"); if(l != null && l !== "undefined") { - return l.Body; + return $scope.tryDecode(l); } return ""; } + $scope.tryDecode = function(l){ + if(l.Headers && l.Headers["Content-Type"] && l.Headers["Content-Transfer-Encoding"]){ + return $scope.tryDecodeContent({Content:l},l.Body.replace(/=[\r\n]+/gm,"")); + }else{ + return l.Body; + } + }; $scope.date = function(timestamp) { return (new Date(timestamp)).toString(); }; diff --git a/MailHog-UI/assets/templates/index.html b/MailHog-UI/assets/templates/index.html index bb4e820..332c3b6 100644 --- a/MailHog-UI/assets/templates/index.html +++ b/MailHog-UI/assets/templates/index.html @@ -228,7 +228,7 @@
-
{{ tryDecodeContent(preview, getMessagePlain(preview)) }}
+
{{ getMessagePlain(preview) }}
{{ getSource(preview) }}
From a418b356497980ddd8c3cffd6057a7932041a9e3 Mon Sep 17 00:00:00 2001 From: Jeff Geerling Date: Wed, 17 Dec 2014 12:15:59 -0600 Subject: [PATCH 2/2] Update docs to refer to correct /api/v1 URL. --- APIv1.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/APIv1.md b/APIv1.md index bd86f03..0caf321 100644 --- a/APIv1.md +++ b/APIv1.md @@ -3,39 +3,39 @@ Go-MailHog API v1 The v1 API is a RESTful HTTP JSON API. -### GET /v1/api/events +### GET /api/v1/events Streams new messages using EventSource and chunked encoding -### GET /v1/api/messages +### GET /api/v1/messages Lists all messages excluding message content -### DELETE /v1/api/messages +### DELETE /api/v1/messages Deletes all messages Returns a ```200``` response code if message deletion was successful. -### GET /v1/api/messages/{ message_id } +### GET /api/v1/messages/{ message_id } Returns an individual message including message content -### DELETE /v1/api/messages/{ message_id } +### DELETE /api/v1/messages/{ message_id } Delete an individual message Returns a ```200``` response code if message deletion was successful. -### GET /v1/api/messages/{ message_id }/download +### GET /api/v1/messages/{ message_id }/download Download the complete message -### GET /v1/api/messages/{ message_id }/mime/part/{ part_index }/download +### GET /api/v1/messages/{ message_id }/mime/part/{ part_index }/download Download a MIME part -### POST /v1/api/messages/{ message_id }/release +### POST /api/v1/messages/{ message_id }/release Release the message to an SMTP server