안녕하세요.
서버에서 직접 메일 서버를 구축하여 stmp 설정을 마친 상태입니다.
우분투에서 postfix 와 dovecot 을 이용해서 메일을 보내고 있는 상황입니다.
메일을 설정하기 위해 hostname 과 smtp 서버 호스트, 그리고 서버의 IP에 대한 리버스 도메인을 new.studyforus.com 으로 설정한 상태입니다.
또한, new.studyforus.com 의 let's encrypt 인증서를 생성해서 postfix 와 dovecot에 정상적인 인증서 설정을 마쳐놓은 상태입니다. (TLS1.3 버전입니다.)
라이믹스에서 메일을 테스트 하기 위해
라이믹스 관리자 페이지 > 시스템 설정 > 알림 설정에서 메일 발송 방법을 smtp 로 설정해 놓은 상태입니다.
smtp 서버는 new.studyforus.com 설정하고 계정과 암호는 제대로 입력한 상태입니다.
smtp 포트 와 smtp 보안은 아래와 같이 설정해서 기진곰님의 고급 메일 발송 모듈을 이용해 테스트 메일을 발송해보았습니다.
smtp 포트 : 465 // smtp 보안 : SSL 일 때 아래와 같은 오류가 나타납니다.
Connection could not be established with host new.studyforus.com :stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:
error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed
발송
smtp 포트 : 587 // smtp 보안 : TLS(STATTLS)일 때는 아래와 같은 오류가 나타납니다.
Unable to connect with TLS encryption
smtp 포트 : 25 // smtp 보안 : 사용하지 않음 일 때는 아래와 같은 오류가 나타납니다.
Connection could not be established with host new.studyforus.com :stream_socket_client(): unable to connect to none://new.studyforus.com:25 (Unable to find the socket transport "none" - did you forget to enable it when you configured PHP?)
서버에서 25,465,587 포트 모두 개방되어 있는 상태입니다.
telnet을 이용해서 25 포트를 이용해 메일을 발송하면 잘 발송이 됩니다.
또한 openssl s_client -connect new.studyforus.com:465 로 465 포트를 통해 메일을 발송해도 잘 발송이 됩니다.
사이트는 다른 별다른 것들이 설치 되지 않는 라이믹스 기본상태이며, PHP는 7.4와 8.0 버전에서 테스트 하였습니다.
이외의 메일 서버의 세팅은 잘 되어 있는 편입니다.
https://mail-tester.com 에서 메일 테스트시 10/10 을 받은 세팅입니다. (오늘 다시 테스트 해보니 여전이 10/10 이네요.)
https://xetown.com/topics/1123457
자체 메일 서버가 아닌 구글 smtp 메일 서버로 변경하여 메일 발송을 테스트 해보면 잘 발송이 됩니다.
혹시 smtp 설정을 자체 메일 서버로 설정하는 경우 추가로 제가 체크 해 볼 부분이 있을까요?
인증서를 인식하지 못하네요. 오래된 O/S에서 PHP만 업데이트하여 사용하고 계시다면 Let's Encrypt처럼 최근에 나온 인증서 발급 업체는 호환되지 않을 수도 있습니다. HTTP 요청을 보낼 때는 라이믹스 자체적으로 업데이트된 인증서 발급 기관 목록을 사용하지만, SMTP 접속에는 적용되지 않으니까요.
위의 문제와, 인증서 없이 25번 포트로 접속되지 않는 문제 모두 2.0.5 릴리즈 이후 develop 브랜치에서 추가로 패치 시도중이니, 다시 테스트해 주시면 감사하겠습니다.
[추가] 인증서 발급 기관 목록을 업데이트해도 안 되는 것을 보니, 인증서 설치가 잘못되었거나 그 밖에 뭔가 다른 문제가 있는지도 모르겠네요. 혹시 중간인증서 빼먹으셨나요?