d897eeee5c
This plugin offers base IMAP/SMTP functionality. References: https://todo.sr.ht/~sircmpwn/koushin/39
58 lines
1.1 KiB
HTML
58 lines
1.1 KiB
HTML
{{template "head.html"}}
|
|
|
|
<h1>koushin</h1>
|
|
|
|
<p>
|
|
<a href="/mailbox/{{.Mailbox.Name | pathescape}}?page={{.MailboxPage}}">
|
|
Back
|
|
</a>
|
|
</p>
|
|
|
|
<h2>
|
|
{{if .Message.Envelope.Subject}}
|
|
{{.Message.Envelope.Subject}}
|
|
{{else}}
|
|
(No subject)
|
|
{{end}}
|
|
</h2>
|
|
|
|
{{define "message-part-tree"}}
|
|
{{/* nested templates can't access the parent's context */}}
|
|
{{$ = index . 0}}
|
|
{{with index . 1}}
|
|
<a
|
|
{{if .IsText}}
|
|
href="{{$.Message.Uid}}?part={{.PathString}}"
|
|
{{else}}
|
|
href="{{$.Message.Uid}}/raw?part={{.PathString}}"
|
|
{{end}}
|
|
>
|
|
{{if eq $.PartPath .PathString}}<strong>{{end}}
|
|
{{.String}}
|
|
{{if eq $.PartPath .PathString}}</strong>{{end}}
|
|
</a>
|
|
{{if gt (len .Children) 0}}
|
|
<ul>
|
|
{{range .Children}}
|
|
<li>{{template "message-part-tree" (tuple $ .)}}</li>
|
|
{{end}}
|
|
</ul>
|
|
{{end}}
|
|
{{end}}
|
|
{{end}}
|
|
|
|
<p>Parts:</p>
|
|
|
|
{{template "message-part-tree" (tuple $ .Message.PartTree)}}
|
|
|
|
<hr>
|
|
|
|
{{if .Body}}
|
|
<p><a href="{{.Message.Uid}}/reply?part={{.PartPath}}">Reply</a></p>
|
|
<pre>{{.Body}}</pre>
|
|
{{else}}
|
|
<p>Can't preview this message part.</p>
|
|
<a href="{{.Message.Uid}}/raw?part={{.PartPath}}">Download</a>
|
|
{{end}}
|
|
|
|
{{template "foot.html"}}
|