PHPMailer를 사용하여 SMTP 및 gmail을 사용하여 전자 메일을 보내려고합니다. 정확한 스크립트는 다른 서버에서 작동하지만이 특정 호스팅 회사의 서버에서는 작동하지 않습니다.포트 465와 587이 PHP로 열려 있는지 어떻게 확인할 수 있습니까?
나는 phpinfo()
을 확인하고는 allow_url_fopen
이 on
것을 알려줍니다 나열된 fopen
같은 더 disabled_functions
이 없습니다.
스크립트가 실패하고 그것은 나에게 말한다 중 하나
SMTP -> ERROR: Failed to connect to server: Connection timed out (110)
또는 다른
SMTP Error: Could not authenticate.
나는 그것을 연결할 수 있기 때문입니다 있으리라 믿고있어, 때문에 다른 서버와 다시 작품 인증 자격 증명이 정확합니다.
그래서 좀 더 일반적으로 묻습니다. PHP 나 jailshell을 사용할 수있는 방법이 있습니까? ssh
포트가 실제로 열려 있는지 확인하십시오.
+1 레코드의 경우 이는 PHPMailer가 SMTP 서버에 연결하는 것과 동일한 방법입니다 (제한 시간 초과 및 재시도 제외). – webbiedave
감사합니다. 포트가 열려 있더라도 때때로 중계가 불가능하다는 것을 알았습니다. PHP로 확인하는 방법은 없나요? – cwd
@cwd : 적절한 SMTP 명령을 보내고'fsockopen '에 의해 반환 된 핸들에'fwrite'와'fread'를 사용하여 응답을 확인해야합니다. – netcoder