walinejs / waline

💬 A Simple, Safe Comment System
https://waline.js.org/en/
GNU General Public License v2.0
2.19k stars 380 forks source link

[BUG]使用 Office 365 SMTP 发件出现 SSL 错误 #483

Closed cxplay closed 3 years ago

cxplay commented 3 years ago

问题描述 | Describe the bug

使用 Office 365 邮件服务出现 SSL 错误

[POST] /comment?lang=zh-CN
00:04:33:39
Function Status:
200
Edge Status:
200
Duration:
2018.19 ms
Init Duration:
N/A
Memory Used:
N/A
ID:
dld2k-1629734672847-44e15568244d
User Agent:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4596.0 Safari/537.36 Edg/94.0.982.2
[2021-08-23T16:04:33.545] [9] [DEBUG] - Post Comment Start!
[2021-08-23T16:04:33.550] [9] [DEBUG] - Post Comment initial Data: {
  link: '',
  mail: 'cxplay@qq.com',
  nick: '112222',
  pid: undefined,
  rid: undefined,
  ua: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4596.0 Safari/537.36 Edg/94.0.982.2',
  url: '/comment/',
  ip: '182.240.47.132',
  insertedAt: 2021-08-23T16:04:33.546Z,
  comment: '<p>评论测试<img alt="eoc_yuedu" src="https://i.bugimg.com/waline/EveOneCat/eoc_yuedu.png" class="vemoji"></p>\n',
  user_id: undefined
}
[2021-08-23T16:04:33.550] [9] [DEBUG] - Comment IP 182.240.47.132 check OK!
[2021-08-23T16:04:34.036] [9] [INFO] - SQL: SELECT * FROM `wl_Comment` WHERE ( `url` = '/comment/' ) AND ( `mail` = 'cxplay@qq.com' ) AND ( `nick` = '112222' ) AND ( `link` = '' ) AND ( `comment` = '<p>评论测试<img alt=\"eoc_yuedu\" src=\"https://i.bugimg.com/waline/EveOneCat/eoc_yuedu.png\" class=\"vemoji\"></p>\n' ), Time: 486ms
[2021-08-23T16:04:34.037] [9] [DEBUG] - Comment duplicate check OK!
[2021-08-23T16:04:34.519] [9] [INFO] - SQL: SELECT * FROM `wl_Comment` WHERE ( `ip` = '182.240.47.132' ) AND ( `insertedAt` > '2021-08-23 16:04:34' ), Time: 481ms
[2021-08-23T16:04:34.519] [9] [DEBUG] - Comment post frequence check OK!
[2021-08-23T16:04:34.519] [9] [DEBUG] - Comment initial status is approved
[2021-08-23T16:04:34.520] [9] [DEBUG] - Comment akismet check result: approved
[2021-08-23T16:04:34.520] [9] [DEBUG] - Comment keyword check result: approved
[2021-08-23T16:04:34.520] [9] [DEBUG] - Comment post hooks preSave done!
[2021-08-23T16:04:35.005] [9] [INFO] - SQL: SHOW COLUMNS FROM `wl_Comment`, Time: 484ms
[2021-08-23T16:04:35.490] [9] [INFO] - SQL: INSERT INTO `wl_Comment` (`comment`,`ip`,`link`,`mail`,`nick`,`status`,`ua`,`url`) VALUES ('<p>评论测试<img alt=\"eoc_yuedu\" src=\"https://i.bugimg.com/waline/EveOneCat/eoc_yuedu.png\" class=\"vemoji\"></p>\n','182.240.47.132','','cxplay@qq.com','112222','approved','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4596.0 Safari/537.36 Edg/94.0.982.2','/comment/'), Time: 484ms
[2021-08-23T16:04:35.491] [9] [DEBUG] - Comment have been added to storage.
Mail send fail: [Error: 139925578553216:error:1408F10B:SSL routines:ssl3_get_record:wrong version number:../deps/openssl/openssl/ssl/record/ssl3_record.c:332:
] {
  library: 'SSL routines',
  function: 'ssl3_get_record',
  reason: 'wrong version number',
  code: 'ESOCKET',
  command: 'CONN'
}
[2021-08-23T16:04:35.533] [9] [DEBUG] - Comment notify done!
[2021-08-23T16:04:35.533] [9] [DEBUG] - Comment post hooks postSave done!

问题网站 | Website URL

https://comment.cxplay.org/

部署方式 | Deploy Type

Mister-Hope commented 3 years ago

由于没法拥有更多的信息,从日志来看,我认为bug不来自于waline。waline 使用 nodemailer 发送邮件

或者office 365的确存在证书问题,或者你的环境变量有问题导致 nodemailer 不能登陆,或者 nodemailer 存在问题。

这里是waline邮件的登陆逻辑,可自行核对。

https://github.com/walinejs/waline/blob/84e1543356369a952c4f3ae433dcc078064b8be0/packages/server/src/service/notify.js#L8-L27

如果可以,请继续尝试找出是上面三方那个的问题,并发送issue到对应的位置。

cxplay commented 3 years ago

好的, 能够确认的确是 nodemailer 的问题, 感谢解答!