Jinnrry/PMail

配置smtp发送邮件,结果到了自己的收件箱

Closed this issue · 6 comments

web版本中一切使用正常,但在smtp客户端中配置后,发送给xx@xx.com提示成功,但xx@xx.com并不会收到邮件,在web中查看,到了自己的收件箱中,请问这个问题是需要怎么配置解决了?在最新的2个版本中都有遇到这情况

用的什么客户端呢?有日志吗

用的在java程序中配置smtp然后发送邮件
[ XNIO-1 task-2] com.sun.mail.smtp : use8bit false
[ XNIO-1 task-2] com.sun.mail.smtp : Verified Addresses
[ XNIO-1 task-2] com.sun.mail.smtp : xxxx@gmail.com
[ XNIO-1 task-2] com.sun.mail.smtp : message successfully delivered to mail server
[ XNIO-1 task-2] m.m.a.RequestResponseBodyMethodProcessor : Using 'application/json', given [/] and supported [application/json, application/*+json]
[ XNIO-1 task-2] m.m.a.RequestResponseBodyMethodProcessor : Writing [BasicResult(code=200, message=null, fields=null, data=null)]
[ XNIO-1 task-2] o.j.s.OpenEntityManagerInViewInterceptor : Closing JPA EntityManager in OpenEntityManagerInViewInterceptor
[ XNIO-1 task-2] o.s.web.servlet.DispatcherServlet : Completed 200 OK

从日志来看,没看到啥有用的东西,xxxx@gmail.com是我收邮件的地址,但并不能收到
下面是我配置发件的yaml
spring:
mail:
host: smtp.domain.com
port: 25
username: admin
password: password
properties:
mail:
smtp.auth: true
smtp.starttls.enable: false

你把pmail的日志级别设置成debug,然后抓一个pmail的日志看看呢。java smtp我也没用过,不知道啥情况

[debug][2023-12-25 17:15:05][55d1110865894819a0e004a4deced8b0][/home/runner/work/PMail/PMail/server/smtp_server/smtp.go:28]新SMTP连接
[debug][2023-12-25 17:15:05][55d1110865894819a0e004a4deced8b0][/home/runner/work/PMail/PMail/server/smtp_server/smtp.go:79]Mail Success support@domain.com &{Body: Size:0 RequireTLS:false UTF8:false Auth:}
[debug][2023-12-25 17:15:05][55d1110865894819a0e004a4deced8b0][/home/runner/work/PMail/PMail/server/smtp_server/smtp.go:85]Rcpt Success xxxxx@gmail.com
[debug][2023-12-25 17:15:06][55d1110865894819a0e004a4deced8b0][/home/runner/work/PMail/PMail/server/smtp_server/read_content.go:28]收到邮件
[info][2023-12-25 17:15:06][55d1110865894819a0e004a4deced8b0][/home/runner/work/PMail/PMail/server/smtp_server/read_content.go:47]邮件原始内容: Date: Mon, 25 Dec 2023 17:15:05 +0800 (CST)
From: support@domain.com
To: xxxxxx@gmail.com
Message-ID: 1109266042.0.1703495705463@System-2d8898ce
Subject: =?UTF-8?B?5Lik5q2l6aqM6K+B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: base64

5L2g55qE6aqM6K+B56CB5Li6IDogODU2OQ==

[debug][2023-12-25 17:15:06][55d1110865894819a0e004a4deced8b0][/home/runner/work/PMail/PMail/server/smtp_server/read_content.go:136]开始入库!
[debug][2023-12-25 17:15:06][55d1110865894819a0e004a4deced8b0][/home/runner/work/PMail/PMail/server/smtp_server/read_content.go:90]开始执行插件!
[debug][2023-12-25 17:15:06][55d1110865894819a0e004a4deced8b0][/home/runner/work/PMail/PMail/server/smtp_server/read_content.go:103]开始执行邮件规则!

你这个是完整的日志吗?如果你这是55d1110865894819a0e004a4deced8b0这个logid下的全部日志的话,检查一下你配置文件中的域名和你发件域名是否匹配,应该是域名哪里不一致,当成收件处理了

if array.InArray(domain, config.Instance.Domains) && s.Ctx.UserName == account {
		// 转发
		err := saveEmail(ctx, email, 1, true, true)
		if err != nil {
			log.WithContext(ctx).Errorf("Email Save Error %v", err)
		}

		send.Send(ctx, email)

	}

程序判断逻辑是登陆账号和发件人前缀相同且发件域名是服务器域名。如果条件为false就会当成收件处理