diff options
-rw-r--r-- | plugins/base/routes.go | 6 | ||||
-rw-r--r-- | themes/alps/message.html | 11 |
2 files changed, 11 insertions, 6 deletions
diff --git a/plugins/base/routes.go b/plugins/base/routes.go index 7ba6253..0277174 100644 --- a/plugins/base/routes.go +++ b/plugins/base/routes.go @@ -334,7 +334,11 @@ func handleGetPart(ctx *alps.Context, raw bool) error { return fmt.Errorf("failed to parse part Content-Type: %v", err) } if len(partPath) == 0 { - mimeType = "message/rfc822" + if ctx.QueryParam("plain") == "1" { + mimeType = "text/plain" + } else { + mimeType = "message/rfc822" + } } if raw { diff --git a/themes/alps/message.html b/themes/alps/message.html index 5d5f64b..74e2d0b 100644 --- a/themes/alps/message.html +++ b/themes/alps/message.html @@ -11,7 +11,7 @@ {{if .IsText}} href="?part={{.PathString}}" {{else}} - href="/raw?part={{.PathString}}" + href="{{$.Message.URL}}raw?part={{.PathString}}" {{end}} > {{if eq $.Part.PathString .PathString}}<strong>{{end}} @@ -178,15 +178,15 @@ {{ $html := .Message.HTMLPart }} {{ $text := .Message.TextPart }} <div class="tabs"> - {{ if and $html $text }} - {{ if ne $html.PathString $text.PathString }} {{/* https://github.com/golang/go/issues/31103 */}} <a - href="?part={{.Message.TextPart.PathString}}" + href="?part={{$text.PathString}}" {{ if eq $text.PathString .Part.PathString }} class="active" {{ end }} >Plain text</a> + {{ if and $html $text }} + {{ if ne $html.PathString $text.PathString }} <a href="?part={{$html.PathString}}" {{ if eq $html.PathString .Part.PathString }} @@ -195,12 +195,13 @@ >HTML</a> {{ end }} {{ end }} + <a href="{{.Message.URL}}/raw?plain=1">Raw email</a> </div> {{if .View}} {{.View}} {{else}} <p>Can't preview this message part.</p> - <a href="{{.Message.Uid}}/raw?part={{.Part.PathString}}">Download</a> + <a href="{{.Message.URL}}/raw?part={{.Part.PathString}}">Download</a> {{end}} </main> </div> |