diff --git a/backend/00-router.go b/backend/00-router.go
index 13c0c42..4af265f 100644
--- a/backend/00-router.go
+++ b/backend/00-router.go
@@ -311,6 +311,7 @@ func emailBoxHandler(w http.ResponseWriter, r *http.Request) {
w.Header().Set("Content-Type", "text/html; charset=utf-8")
fmt.Fprint(w, renderEmailBoxSourcePane(accounts, selected.Name))
fmt.Fprintf(w, `
%s
`, renderInitialSourceMailboxList(selected))
+ fmt.Fprintf(w, `%s
`, renderInitialSourceMailboxRead(selected))
return
}
renderSourceEmailBoxPage(w, r, accounts, r.URL.Query().Get("source"))
@@ -340,6 +341,7 @@ func sourceMailboxMessagesHandler(w http.ResponseWriter, r *http.Request) {
return
}
renderSourceMailboxMessageList(w, account, folder, messages)
+ fmt.Fprintf(w, `%s
`, renderSourceMailboxRead(account, folder, 0, messages))
}
func sourceMailboxMessageHandler(w http.ResponseWriter, r *http.Request) {
@@ -360,22 +362,8 @@ func sourceMailboxMessageHandler(w http.ResponseWriter, r *http.Request) {
http.Error(w, err.Error(), http.StatusBadRequest)
return
}
- if index < 0 || index >= len(messages) {
- http.Error(w, "message index out of range", http.StatusNotFound)
- return
- }
- raw := messages[index].Body
- msg, err := mail.ReadMessage(bytes.NewReader(raw))
- if err != nil {
- renderReadPaneWithSource(w, account.Name, folder, "", index, "(unlesbar)", "", "", string(raw))
- return
- }
- renderReadPaneWithSource(w, account.Name, folder, "", index,
- decodeHeader(msg.Header.Get("Subject")),
- decodeHeader(msg.Header.Get("From")),
- decodeHeader(msg.Header.Get("Date")),
- messageBody(raw),
- )
+ w.Header().Set("Content-Type", "text/html; charset=utf-8")
+ fmt.Fprint(w, renderSourceMailboxRead(account, folder, index, messages))
}
func archiveCreateHandler(w http.ResponseWriter, r *http.Request) {
@@ -885,10 +873,10 @@ func renderSourceEmailBoxPage(w http.ResponseWriter, r *http.Request, accounts [
-
+