mlisting

Mailing list service

git clone git://git.lin.moe/go/mlisting.git

 1package testdata
 2
 3import (
 4	"embed"
 5	"io"
 6	"io/fs"
 7	"net/mail"
 8)
 9
10//go:embed testmail_*.txt
11var TestmailFS embed.FS
12var TestMessages []struct {
13	Header mail.Header
14	Body   []byte
15}
16
17func init() {
18	err := fs.WalkDir(TestmailFS, ".", func(path string, d fs.DirEntry, err error) error {
19		if d.IsDir() {
20			return nil
21		}
22		if in, err := TestmailFS.Open(path); err != nil {
23			return err
24		} else {
25			msg, err := mail.ReadMessage(in)
26			if err != nil {
27				return err
28			}
29			body, err := io.ReadAll(msg.Body)
30			if err != nil {
31				return err
32			}
33			TestMessages = append(TestMessages, struct {
34				Header mail.Header
35				Body   []byte
36			}{msg.Header, body})
37		}
38		return nil
39	})
40	if err != nil {
41		panic(err)
42	}
43}