A few weeks ago I noticed that I wasn't receiving a password reset email after requesting one. I did configure the mailserver with credentials under Main config -> Mail. I just tested this and saw this error in /var/log/mail.log: Code: May 8 23:55:45 server01 postfix/submission/smtpd[31109]: connect from server01.example.net[Public IPv6 adress] May 8 23:55:45 server01 postfix/submission/smtpd[31109]: warning: non-SMTP command from server01.example.net[Public IPv6 adress]: Subject: =?UTF-8?B?Q29uZmlybSBJU1BDb25maWcgMyBDb250cm9sIHBhbmVsIHBhc3N3b3JkIHJlc2V0?= May 8 23:55:45 server01 postfix/submission/smtpd[31109]: disconnect from server01.example.net[Public IPv6 adress] helo=1 starttls=1 auth=0/1 mail=0/1 rcpt=0/1 data=0/1 unknown=0/3 commands=2/9 Is there a misconfiguration on my side, or is this a bug? I do receive error emails when something is wrong with a Let's Encrypt request.
I suspect it's potentially a bug, I have the exact same problem (no password reset emails) on at least one control panel that I have not had/taken the chance to track down yet. I figured it was just this one machine, but it seems almost unthinkable that we would have both made a mistake I'll try to dig in to it some, maybe next week.
I had the same issue on a previous installation which I abandoned after a bad experience with Hetzner, so I suspect it's a bug aswell. Would be great if you could dig in and eventually create a issue on the gitlab.
Checking this, I find this in the apache error.log when I tried to request a password reset: Code: [Wed May 20 15:28:59.620879 2020] [fcgid:warn] [pid 850:tid 140432920569600] [client xx.xx.xx.xx:51079] mod_fcgid: stderr: PHP Warning: fsockopen() expects parameter 2 to be int, string given in /usr/local/ispconfig/interface/lib/classes/ispcmail.inc.php on line 588, referer: https://cp.domain.com/login/password_reset.php [Wed May 20 15:28:59.620949 2020] [fcgid:warn] [pid 850:tid 140432920569600] [client xx.xx.xx.xx:51079] mod_fcgid: stderr: PHP Warning: fgets() expects parameter 1 to be resource, bool given in /usr/local/ispconfig/interface/lib/classes/ispcmail.inc.php on line 589, referer: https://cp.domain.com/login/password_reset.php Which takes us to https://git.ispconfig.org/ispconfig...1/interface/lib/classes/ispcmail.inc.php#L588 Lines 589 and 590 should be swapped, which would eliminate the second error (untested). The first appears to be a problem with the port number, and in checking I probably have a misconfiguration; in System > Main Config > Mial for this server, I have: Use SMTP to send system mails: checked SMTP host: localhost SMTP port: (empty) SMTP user: (empty) SMTP password: (empty) Use SSL/TLS encrypted connection for SMTP: STARTTLS I assumed a default port number (25) would be used, but I'll guess that's the problem. ispcmail.inc.php actually sets 25 as the default, but then apparently overwrote it with an empty string. So I set port 25 and test again, and new error about the certificate not matching the hostname. I left 'localhost' as the server and set SSL/TLS to No, and another test succeeds in sending the rest email. So I had a misconfiguration, and there are probably one or more bugs coming in to play. It would be nice if errors sending could propogate somewhere they would be seen (somewhere under Monitor?), if you want to file that rfe, too.
Weird thing is that the LE notifications (when it cant be verified) are send, only the passwords resets aren't
It occurs to me that all I did was enable the "Use SMTP to send system mails" checkbox, the other settings are all defaults - that should work out of the box (and judging by the code, I suspect it was intended to). There is an attempt to not verify the server name in the certificate which does not work, so using the default 'localhost' with STARTTLS will never work (unless someone happens to have manually setup a self-signed certificate for 'localhost'.) https://git.ispconfig.org/ispconfig/ispconfig3/-/issues/5620 https://git.ispconfig.org/ispconfig/ispconfig3/-/merge_requests/993