73 lines
1.5 KiB
Go
73 lines
1.5 KiB
Go
package smtp_server
|
||
|
||
import (
|
||
"bytes"
|
||
log "github.com/sirupsen/logrus"
|
||
"io/fs"
|
||
"net"
|
||
"net/netip"
|
||
"os"
|
||
"path/filepath"
|
||
"pmail/config"
|
||
"pmail/db"
|
||
parsemail2 "pmail/dto/parsemail"
|
||
"pmail/session"
|
||
"testing"
|
||
"time"
|
||
)
|
||
|
||
func testInit() {
|
||
// 设置日志格式为json格式
|
||
//log.SetFormatter(&log.JSONFormatter{})
|
||
|
||
log.SetReportCaller(true)
|
||
log.SetFormatter(&log.TextFormatter{
|
||
//以下设置只是为了使输出更美观
|
||
DisableColors: true,
|
||
TimestampFormat: "2006-01-02 15:03:04",
|
||
})
|
||
|
||
// 设置将日志输出到标准输出(默认的输出为stderr,标准错误)
|
||
// 日志消息输出可以是任意的io.writer类型
|
||
log.SetOutput(os.Stdout)
|
||
|
||
// 设置日志级别为warn以上
|
||
log.SetLevel(log.TraceLevel)
|
||
|
||
var cst, _ = time.LoadLocation("Asia/Shanghai")
|
||
time.Local = cst
|
||
|
||
config.Init()
|
||
parsemail2.Init()
|
||
db.Init()
|
||
session.Init()
|
||
|
||
}
|
||
|
||
func TestSession_Data(t *testing.T) {
|
||
testInit()
|
||
s := Session{
|
||
RemoteAddress: net.TCPAddrFromAddrPort(netip.AddrPortFrom(netip.AddrFrom4([4]byte{}), 25)),
|
||
}
|
||
|
||
filepath.WalkDir("docs", func(path string, d fs.DirEntry, err error) error {
|
||
if !d.IsDir() {
|
||
data, _ := os.ReadFile(path)
|
||
s.Data(bytes.NewReader(data))
|
||
}
|
||
return nil
|
||
})
|
||
|
||
}
|
||
|
||
func TestSession_DataGmail(t *testing.T) {
|
||
testInit()
|
||
s := Session{
|
||
RemoteAddress: net.TCPAddrFromAddrPort(netip.AddrPortFrom(netip.AddrFrom4([4]byte{}), 25)),
|
||
}
|
||
|
||
data, _ := os.ReadFile("docs/gmail/带附件带图片.txt")
|
||
s.Data(bytes.NewReader(data))
|
||
|
||
}
|