Jinnrry / PMail

Private EMail Server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

smtp 一下子发超过3个人 docker就知道关闭了

cht870422 opened this issue · comments

请说明问题 / Describe the bug
A clear and concise description of what the bug is.
smtp 连续3次 docker就知道关闭了
如何复现 / To Reproduce

mail_sender.py

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.header import Header

设置SMTP服务器地址和端口

smtp_server = 'smtp.域名'
smtp_port = 465 # 对于SSL加密,通常使用465端口

设置发件人和收件人邮箱地址

from_addr = 'xiaocao@自己得域名'
to_addr = '收件人@域名'

设置邮箱登录凭据

username = 'admin'
password = 'admin'

创建MIME邮件对象

msg = MIMEMultipart()
msg['From'] = Header(from_addr)
msg['To'] = Header(to_addr)
msg['Subject'] = Header('邮件主题')

邮件正文

body = '这是一封测试邮件。'
msg.attach(MIMEText(body, 'plain', 'utf-8'))

连接到SMTP服务器

server = smtplib.SMTP_SSL(smtp_server, smtp_port)
server.set_debuglevel(1) # 开启调试模式

登录SMTP服务器

server.login(username, password)

发送邮件

server.sendmail(from_addr, to_addr, msg.as_string())

断开与SMTP服务器的连接

server.quit()

你预期的行为 / Expected behavior
A clear and concise description of what you expected to happen.

贴上你的配置文件 / Program configuration file contents

config.json
这里贴上你的配置文件内容。
Copy the contents of your configuration file here.

日志信息 / Log

log
这里贴上问题相关日志
Copy the contents of your log here.

[info][2024-04-18 12:13:00][/work/main.go:87]*******************************************************************
[info][2024-04-18 12:13:00][/work/hooks/base.go:188][telegram_push] Plugin Load
[telegram_push] Plugin Start! PID:12[info][2024-04-18 12:13:01][/work/hooks/base.go:219][telegram_push] Plugin Load Success!
[info][2024-04-18 12:13:01][/work/hooks/base.go:188][web_push] Plugin Load
[web_push] Plugin Start! PID:17[info][2024-04-18 12:13:02][/work/hooks/base.go:219][web_push] Plugin Load Success!
[info][2024-04-18 12:13:02][/work/hooks/base.go:188][wechat_push] Plugin Load
[wechat_push] Plugin Start! PID:22[info][2024-04-18 12:13:03][/work/hooks/base.go:219][wechat_push] Plugin Load Success!
[warning][2024-04-18 12:13:03][/work/res_init/init.go:55]Config File Info: {"logLevel":"","domain":"tjiajia.net","domains":["tjiajia.net"],"webDomain":"mail.tjiajia.net","dkimPrivateKeyPath":"config/dkim/dkim.priv","sslType":"0","SSLPrivateKeyPath":"config/ssl/private.key","SSLPublicKeyPath":"config/ssl/public.crt","dbDSN":"./config/pmail.db","dbType":"sqlite","httpsEnabled":0,"spamFilterLevel":0,"httpPort":0,"httpsPort":0,"weChatPushAppId":"","weChatPushSecret":"","weChatPushTemplateId":"","weChatPushUserId":"","tgBotToken":"","tgChatId":"","isInit":true,"webPushUrl":"","webPushToken":""}
[info][2024-04-18 12:13:03][/work/http_server/https_server.go:77]Https Server Start On Port :443
[info][2024-04-18 12:13:03][/work/pop3_server/pop3server.go:27]POP3 With TLS Server Start On Port :995
[info][2024-04-18 12:13:03][/work/pop3_server/pop3server.go:46]POP3 Server Start On Port :110
[info][2024-04-18 12:13:03][/work/smtp_server/smtp.go:146]Starting Smtp With SSL Server Port: :465
[info][2024-04-18 12:13:03][/work/smtp_server/smtp.go:174]Starting Smtp Server Port: :25
smtp/server 2024/04/18 12:16:14 handler error: read tcp 172.18.0.2:465->117.94.250.114:61403: i/o timeout
smtp/server 2024/04/18 12:16:47 handler error: read tcp 172.18.0.2:465->117.94.250.114:61409: i/o timeout
smtp/server 2024/04/18 12:17:09 handler error: read tcp 172.18.0.2:465->117.94.250.114:61410: i/o timeout
[info][2024-04-18 12:56:02][ac1200026620a7e295fa0001088acfb0][/work/smtp_server/read_content.go:51]邮件原始内容: Content-Type: multipart/mixed; boundary="===============0169323921851262804=="
MIME-Version: 1.0
From: admin@tjiajia.net
To: 792282@qq.com
Subject: =?utf-8?b?6YKu5Lu25Li76aKY?=

--===============0169323921851262804==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64

6L+Z5piv5LiA5bCB5rWLNzc3ODg4MjEz44CC

--===============0169323921851262804==--

[info][2024-04-18 12:56:03][ac1200026620a7e295fa0001088acfb0][/work/smtp_server/read_content.go:51]邮件原始内容: Content-Type: multipart/mixed; boundary="===============0169323921851262804=="
MIME-Version: 1.0
From: admin@tjiajia.net
To: 792282@qq.com
Subject: =?utf-8?b?6YKu5Lu25Li76aKY?=

--===============0169323921851262804==
Content-Type: text/plain; charset="utf-8"
MIME-Version: 1.0
Content-Transfer-Encoding: base64

6L+Z5piv5LiA5bCB5rWLNzc3ODg4MjEz44CC

--===============0169323921851262804==--

fatal error: concurrent map writes

goroutine 261 [running]:
reflect.mapassign_faststr0(0xae65a0, 0x21d388?, {0xc0002a45ea?, 0xc0002ab2c0?}, 0xc0002ab2c0)
/usr/local/go/src/runtime/map.go:1371 +0x25
reflect.mapassign_faststr(0xadc7c0?, 0xc0002ab2c0?, {0xc0002a45ea, 0x5}, 0x19?)
/usr/local/go/src/reflect/value.go:3886 +0xa9
reflect.Value.SetMapIndex({0xae65a0?, 0xc00058a5d8?, 0x5?}, {0xac9f60, 0xc0002ab310, 0x198}, {0xadc7c0, 0xc0002ab2c0, 0x194})
/usr/local/go/src/reflect/value.go:2467 +0x225
encoding/json.(*decodeState).object(0xc000156900, {0xae65a0?, 0xc00058a5d8?, 0x32a?})
/usr/local/go/src/encoding/json/decode.go:799 +0x1385
encoding/json.(*decodeState).value(0xc000156900, {0xae65a0?, 0xc00058a5d8?, 0x6?})
/usr/local/go/src/encoding/json/decode.go:374 +0x3e
encoding/json.(*decodeState).object(0xc000156900, {0xb26060?, 0xc00021b6f0?, 0x36f?})
/usr/local/go/src/encoding/json/decode.go:755 +0xd11
encoding/json.(*decodeState).value(0xc000156900, {0xb26060?, 0xc00021b6f0?, 0x3?})
/usr/local/go/src/encoding/json/decode.go:374 +0x3e
encoding/json.(*decodeState).object(0xc000156900, {0xabcdc0?, 0xc00021b6e0?, 0x12fbf50?})
/usr/local/go/src/encoding/json/decode.go:755 +0xd11
encoding/json.(*decodeState).value(0xc000156900, {0xabcdc0?, 0xc00021b6e0?, 0xc00004c808?})
/usr/local/go/src/encoding/json/decode.go:374 +0x3e
encoding/json.(*decodeState).unmarshal(0xc000156900, {0xabcdc0?, 0xc00021b6e0?})
/usr/local/go/src/encoding/json/decode.go:181 +0x11e
encoding/json.Unmarshal({0xc00027f180, 0x298, 0x380}, {0xabcdc0, 0xc00021b6e0})
/usr/local/go/src/encoding/json/decode.go:108 +0xf9
pmail/hooks.(*HookSender).SendAfter(0xc0001e6f00, 0xc00058a5a0, 0xc000158fc0, 0xc00021b260)
/work/hooks/base.go:92 +0x319
pmail/smtp_server.(*Session).Data.func3({0xb1f120?, 0xc0001e6f00?})
/work/smtp_server/read_content.go:105 +0xa2
pmail/utils/async.(*Async).WaitProcess.func1({0xb1f120?, 0xc0001e6f00?})
/work/utils/async/async.go:37 +0x5d
pmail/utils/async.(*Async).Process.func1()
/work/utils/async/async.go:48 +0x58
created by pmail/utils/async.(*Async).Process in goroutine 192
/work/utils/async/async.go:42 +0x8f

goroutine 1 [chan receive, 2 minutes]:
pmail/res_init.Init({0xe2a234, 0x6})
/work/res_init/init.go:57 +0x1bd
main.main()
/work/main.go:93 +0x3e5

goroutine 17 [sleep, 2 minutes]:
time.Sleep(0x4e94914f0000)
/usr/local/go/src/runtime/time.go:195 +0x115
pmail/cron_server.sslUpdateLoop()
/work/cron_server/ssl_update.go:60 +0x27
created by pmail/cron_server.Start in goroutine 6
/work/cron_server/ssl_update.go:26 +0x67

goroutine 7 [select, 2 minutes]:
database/sql.(*DB).connectionOpener(0xc000147a00, {0xe32a10, 0xc0000248c0})
/usr/local/go/src/database/sql/sql.go:1246 +0x87
created by database/sql.OpenDB in goroutine 1
/usr/local/go/src/database/sql/sql.go:824 +0x14c

goroutine 8 [select, 2 minutes]:
github.com/alexedwards/scs/v2/memstore.(*MemStore).startCleanup(0xc0001ef2c0, 0xdf8475800)
/go/pkg/mod/github.com/alexedwards/scs/v2@v2.8.0/memstore/memstore.go:106 +0xae
created by github.com/alexedwards/scs/v2/memstore.NewWithCleanupInterval in goroutine 1
/go/pkg/mod/github.com/alexedwards/scs/v2@v2.8.0/memstore/memstore.go:36 +0xa5

goroutine 9 [select, 2 minutes]:
github.com/alexedwards/scs/sqlite3store.(*SQLite3Store).startCleanup(0xc0001d9880, 0x45d964b800)
/go/pkg/mod/github.com/alexedwards/scs/sqlite3store@v0.0.0-20240316134038-7e11d57e8885/sqlite3store.go:102 +0xbb
created by github.com/alexedwards/scs/sqlite3store.NewWithCleanupInterval in goroutine 1
/go/pkg/mod/github.com/alexedwards/scs/sqlite3store@v0.0.0-20240316134038-7e11d57e8885/sqlite3store.go:28 +0x9f

goroutine 10 [syscall, 2 minutes]:
syscall.Syscall6(0xf7, 0x1, 0xc, 0xc000284620, 0x1000004, 0x0, 0x0)
/usr/local/go/src/syscall/syscall_linux.go:91 +0x39
os.(*Process).blockUntilWaitable(0xc000112f60)
/usr/local/go/src/os/wait_waitid.go:32 +0x76
os.(*Process).wait(0xc000112f60)
/usr/local/go/src/os/exec_unix.go:22 +0x25
os.(*Process).Wait(...)
/usr/local/go/src/os/exec.go:134
pmail/hooks.Init.func1.1()
/work/hooks/base.go:202 +0x36
created by pmail/hooks.Init.func1 in goroutine 1
/work/hooks/base.go:201 +0x465

goroutine 11 [syscall, 2 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x11, 0xc000284e20, 0x1000004, 0x0, 0x0)
/usr/local/go/src/syscall/syscall_linux.go:91 +0x39
os.(*Process).blockUntilWaitable(0xc000112ff0)
/usr/local/go/src/os/wait_waitid.go:32 +0x76
os.(*Process).wait(0xc000112ff0)
/usr/local/go/src/os/exec_unix.go:22 +0x25
os.(*Process).Wait(...)
/usr/local/go/src/os/exec.go:134
pmail/hooks.Init.func1.1()
/work/hooks/base.go:202 +0x36
created by pmail/hooks.Init.func1 in goroutine 1
/work/hooks/base.go:201 +0x465

goroutine 12 [syscall, 2 minutes]:
syscall.Syscall6(0xf7, 0x1, 0x16, 0xc000285620, 0x1000004, 0x0, 0x0)
/usr/local/go/src/syscall/syscall_linux.go:91 +0x39
os.(*Process).blockUntilWaitable(0xc000113020)
/usr/local/go/src/os/wait_waitid.go:32 +0x76
os.(*Process).wait(0xc000113020)
/usr/local/go/src/os/exec_unix.go:22 +0x25
os.(*Process).Wait(...)
/usr/local/go/src/os/exec.go:134
pmail/hooks.Init.func1.1()
/work/hooks/base.go:202 +0x36
created by pmail/hooks.Init.func1 in goroutine 1
/work/hooks/base.go:201 +0x465

goroutine 13 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f41d40a82e8, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xb?, 0x1?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc0002d0280)
/usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac
net.(*netFD).accept(0xc0002d0280)
/usr/local/go/src/net/fd_unix.go:172 +0x29
net.(*TCPListener).accept(0xc0002d2300)
/usr/local/go/src/net/tcpsock_posix.go:159 +0x1e
net.(*TCPListener).Accept(0xc0002d2300)
/usr/local/go/src/net/tcpsock.go:327 +0x30
github.com/emersion/go-smtp.(*Server).Serve(0xc0002e6000, {0xe32210, 0xc0002d2300})
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/server.go:95 +0x188
github.com/emersion/go-smtp.(*Server).ListenAndServe(0xc0002e6000)
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/server.go:215 +0x99
pmail/smtp_server.Start()
/work/smtp_server/smtp.go:175 +0x419
created by pmail/res_init.Init in goroutine 1
/work/res_init/init.go:45 +0x118

goroutine 14 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f41d40a83e0, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xa?, 0x1?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc0000d8480)
/usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac
net.(*netFD).accept(0xc0000d8480)
/usr/local/go/src/net/fd_unix.go:172 +0x29
net.(*TCPListener).accept(0xc0000ba7c0)
/usr/local/go/src/net/tcpsock_posix.go:159 +0x1e
net.(*TCPListener).Accept(0xc0000ba7c0)
/usr/local/go/src/net/tcpsock.go:327 +0x30
crypto/tls.(*listener).Accept(0xc0000b2750)
/usr/local/go/src/crypto/tls/tls.go:66 +0x27
github.com/emersion/go-smtp.(*Server).Serve(0xc0003080f0, {0xe32030, 0xc0000b2750})
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/server.go:95 +0x188
github.com/emersion/go-smtp.(*Server).ListenAndServeTLS(0xc0003080f0)
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/server.go:235 +0xa5
pmail/smtp_server.StartWithTLS()
/work/smtp_server/smtp.go:147 +0x419
created by pmail/res_init.Init in goroutine 1
/work/res_init/init.go:46 +0x125

goroutine 15 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f41d40a86c8, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0x8?, 0x1?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc0000d8200)
/usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac
net.(*netFD).accept(0xc0000d8200)
/usr/local/go/src/net/fd_unix.go:172 +0x29
net.(*TCPListener).accept(0xc0000ba380)
/usr/local/go/src/net/tcpsock_posix.go:159 +0x1e
net.(*TCPListener).Accept(0xc0000ba380)
/usr/local/go/src/net/tcpsock.go:327 +0x30
crypto/tls.(*listener).Accept(0xc0000b2600)
/usr/local/go/src/crypto/tls/tls.go:66 +0x27
net/http.(*Server).Serve(0xc000308000, {0xe32030, 0xc0000b2600})
/usr/local/go/src/net/http/server.go:3255 +0x33e
net/http.(*Server).ServeTLS(0xc000308000, {0xe32210, 0xc0000ba380}, {0xb92b97, 0x15}, {0xb93771, 0x16})
/usr/local/go/src/net/http/server.go:3325 +0x486
net/http.(*Server).ListenAndServeTLS(0xc000308000, {0xb92b97, 0x15}, {0xb93771, 0x16})
/usr/local/go/src/net/http/server.go:3482 +0x125
pmail/http_server.HttpsStart()
/work/http_server/https_server.go:85 +0x72d
created by pmail/res_init.Init in goroutine 1
/work/res_init/init.go:48 +0x131

goroutine 16 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f41d40a87c0, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0x7?, 0x1?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc0001e9280)
/usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac
net.(*netFD).accept(0xc0001e9280)
/usr/local/go/src/net/fd_unix.go:172 +0x29
net.(*TCPListener).accept(0xc0000336e0)
/usr/local/go/src/net/tcpsock_posix.go:159 +0x1e
net.(*TCPListener).Accept(0xc0000336e0)
/usr/local/go/src/net/tcpsock.go:327 +0x30
net/http.(*Server).Serve(0xc0001980f0, {0xe32210, 0xc0000336e0})
/usr/local/go/src/net/http/server.go:3255 +0x33e
net/http.(*Server).ListenAndServe(0xc0001980f0)
/usr/local/go/src/net/http/server.go:3184 +0x71
pmail/http_server.HttpStart()
/work/http_server/http_server.go:76 +0x7d4
created by pmail/res_init.Init in goroutine 1
/work/res_init/init.go:49 +0x13d

goroutine 33 [chan receive, 2 minutes]:
github.com/Jinnrry/gopop.(*Server).startWithoutTLS(0xc000069260)
/go/pkg/mod/github.com/!jinnrry/gopop@v0.0.0-20231113115125-fbdf52ae39ea/pop3.go:106 +0x18e
github.com/Jinnrry/gopop.(*Server).Start(0x130be00?)
/go/pkg/mod/github.com/!jinnrry/gopop@v0.0.0-20231113115125-fbdf52ae39ea/pop3.go:44 +0x25
pmail/pop3_server.Start()
/work/pop3_server/pop3server.go:48 +0x30b
created by pmail/res_init.Init in goroutine 1
/work/res_init/init.go:51 +0x149

goroutine 34 [chan receive, 2 minutes]:
github.com/Jinnrry/gopop.(*Server).startWithTLS(0xc0002c40c0)
/go/pkg/mod/github.com/!jinnrry/gopop@v0.0.0-20231113115125-fbdf52ae39ea/pop3.go:74 +0x1a5
github.com/Jinnrry/gopop.(*Server).Start(0x130be00?)
/go/pkg/mod/github.com/!jinnrry/gopop@v0.0.0-20231113115125-fbdf52ae39ea/pop3.go:46 +0x19
pmail/pop3_server.StartWithTls()
/work/pop3_server/pop3server.go:29 +0x30b
created by pmail/res_init.Init in goroutine 1
/work/res_init/init.go:52 +0x155

goroutine 49 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f41d40a85d0, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0x9?, 0x0?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc0002d0100)
/usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac
net.(*netFD).accept(0xc0002d0100)
/usr/local/go/src/net/fd_unix.go:172 +0x29
net.(*TCPListener).accept(0xc0002d20c0)
/usr/local/go/src/net/tcpsock_posix.go:159 +0x1e
net.(*TCPListener).Accept(0xc0002d20c0)
/usr/local/go/src/net/tcpsock.go:327 +0x30
crypto/tls.(*listener).Accept(0xc0002a80d8)
/usr/local/go/src/crypto/tls/tls.go:66 +0x27
github.com/Jinnrry/gopop.(*Server).startWithTLS.func2()
/go/pkg/mod/github.com/!jinnrry/gopop@v0.0.0-20231113115125-fbdf52ae39ea/pop3.go:63 +0x3f
created by github.com/Jinnrry/gopop.(*Server).startWithTLS in goroutine 34
/go/pkg/mod/github.com/!jinnrry/gopop@v0.0.0-20231113115125-fbdf52ae39ea/pop3.go:61 +0x190

goroutine 35 [IO wait, 2 minutes]:
internal/poll.runtime_pollWait(0x7f41d40a84d8, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc?, 0x0?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Accept(0xc0001e9400)
/usr/local/go/src/internal/poll/fd_unix.go:611 +0x2ac
net.(*netFD).accept(0xc0001e9400)
/usr/local/go/src/net/fd_unix.go:172 +0x29
net.(*TCPListener).accept(0xc000033920)
/usr/local/go/src/net/tcpsock_posix.go:159 +0x1e
net.(*TCPListener).Accept(0xc000033920)
/usr/local/go/src/net/tcpsock.go:327 +0x30
github.com/Jinnrry/gopop.(*Server).startWithoutTLS.func2()
/go/pkg/mod/github.com/!jinnrry/gopop@v0.0.0-20231113115125-fbdf52ae39ea/pop3.go:95 +0x3f
created by github.com/Jinnrry/gopop.(*Server).startWithoutTLS in goroutine 33
/go/pkg/mod/github.com/!jinnrry/gopop@v0.0.0-20231113115125-fbdf52ae39ea/pop3.go:93 +0x17b

goroutine 229 [IO wait]:
internal/poll.runtime_pollWait(0x7f41d40a8000, 0x72)
/usr/local/go/src/runtime/netpoll.go:345 +0x85
internal/poll.(*pollDesc).wait(0xc0002d0980?, 0xc0005be000?, 0x0)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:84 +0x27
internal/poll.(*pollDesc).waitRead(...)
/usr/local/go/src/internal/poll/fd_poll_runtime.go:89
internal/poll.(*FD).Read(0xc0002d0980, {0xc0005be000, 0x1000, 0x1000})
/usr/local/go/src/internal/poll/fd_unix.go:164 +0x27a
net.(*netFD).Read(0xc0002d0980, {0xc0005be000?, 0x0?, 0xc000083340?})
/usr/local/go/src/net/fd_posix.go:55 +0x25
net.(*conn).Read(0xc0002a6340, {0xc0005be000?, 0x4fa500?, 0xc000083a40?})
/usr/local/go/src/net/net.go:179 +0x45
net/http.(*persistConn).Read(0xc00059b0e0, {0xc0005be000?, 0xc0002d6540?, 0xc0002e9d38?})
/usr/local/go/src/net/http/transport.go:1977 +0x4a
bufio.(*Reader).fill(0xc00009d920)
/usr/local/go/src/bufio/bufio.go:110 +0x103
bufio.(*Reader).Peek(0xc00009d920, 0x1)
/usr/local/go/src/bufio/bufio.go:148 +0x53
net/http.(*persistConn).readLoop(0xc00059b0e0)
/usr/local/go/src/net/http/transport.go:2141 +0x1b9
created by net/http.(*Transport).dialConn in goroutine 228
/usr/local/go/src/net/http/transport.go:1799 +0x152f

goroutine 211 [runnable]:
syscall.Syscall(0x0, 0x10, 0xc0001d0000, 0x1000)
/usr/local/go/src/syscall/syscall_linux.go:69 +0x25
syscall.read(0xc00020e000?, {0xc0001d0000?, 0x6d6c00?, 0xae9180?})

还是不可以 最新版 --===============3262169505879224294==--

smtp/server 2024/04/20 11:02:51 panic serving 49.79.79.98:35706: interface conversion: interface is nil, not error
goroutine 565 [running]:
runtime/debug.Stack()
/usr/local/go/src/runtime/debug/stack.go:24 +0x5e
github.com/emersion/go-smtp.(*Conn).handle.func1()
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/conn.go:98 +0x9a
panic({0xaf1560?, 0xc000484ba0?})
/usr/local/go/src/runtime/panic.go:770 +0x132
pmail/utils/send.Send.func2({0xac9ee0?, 0xc0001738f0?}, {0x0?, 0x0?})
/work/utils/send/send.go:191 +0x112
sync.(*Map).Range(0xc000490f40?, 0xc00032ba50)
/usr/local/go/src/sync/map.go:477 +0x1f8
pmail/utils/send.Send(0xc00027aaa0, 0xc0004b2120)
/work/utils/send/send.go:190 +0x927
pmail/smtp_server.(*Session).Data(0xc00027aaf0, {0xe2f860, 0xc000490900})
/work/smtp_server/read_content.go:86 +0xb90
github.com/emersion/go-smtp.(*Conn).handleData(0xc000194630, {0x0?, 0x0?})
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/conn.go:933 +0x191
github.com/emersion/go-smtp.(*Conn).handle(0xc000194630, {0xc000012f88?, 0x138ea60?}, {0x0, 0x0})
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/conn.go:139 +0x14d
github.com/emersion/go-smtp.(*Server).handleConn(0xc0003bc0f0, 0xc000194630)
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/server.go:167 +0x2c5
github.com/emersion/go-smtp.(*Server).Serve.func1()
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/server.go:123 +0xcd
created by github.com/emersion/go-smtp.(*Server).Serve in goroutine 35
/go/pkg/mod/github.com/emersion/go-smtp@v0.21.0/server.go:120 +0x216

你是用上面这个python程序发信的吗?连续执行3次?我始终复现不出来这个问题

我就是用上面脚本发的,现在不是崩溃了。现在是他内部内存还出现错误。,你可以看一下docker logs

https://github.com/Jinnrrry/PMail/releases/tag/v2.4.6

这个版本试下呢

OK,一会再测试一下,因为我记得我昨天你给我回复了过后,我docker 镜像删除了,重新拉取了1次,今天一会我编译打包了一次,看一下,你也可以看一下你ok 邮箱,我们沟通

有啥问题就这里沟通吧