다음과 같은 좋은 기사를 봤습니다
phpmailer 클래스 SMTP를 사용하여 이메일을 보내는 데 실패했습니다. 문제 해결 아이디어는 코드에서 먼저 SMTPDebug$mail을 엽니다. = new PHPMailer();//메일 전송 클래스 생성
$mail->SMTPDebug = true; //SMTPDebug 속성을 true로 설정
이메일이 성공적으로 전송되지 않으면 오류 메시지가 나타납니다
이번에 보고한 오류는 다음과 같습니다 서버 연결 실패 주소에서 실패 DEBUG 프롬프트 켜기: ERROR: 서버에 연결하지 못했습니다: (0) 연결할 수 없으므로 Du Niang에게 문의한 후 smtp에 연결하는 방법을 알아봅니다. 서버는 fsockopen을 통해 작동합니다. 그러면 이 기능이 비활성화되어 있는지 살펴보겠습니다. PHP.ini에서 1,allow_url_fopen을 찾으세요. = On 옵션이 On으로 되어 있는지 확인하세요. Off일 경우 해당 기능을 On으로 변경해 주세요. 위의 설정은 fopen이 열려 있다는 의미이므로 어떻게 해야 하나요? , 켜져 있는 것은 아니고 사용을 허용해야 합니다. 그럼 비활성화된 메소드 중에 fsockopen2, disable_functionsdisable_functions가 있는지 살펴보겠습니다. , fsockopen을 포함하여 비활성화된 메서드가 많이 있습니다. 축하합니다. 답을 찾았으니 제거하세요. 확인, 아파치를 다시 시작하세요. 가 여전히 작동하지 않나요? 또한 php.ini 파일에서 이것이 작동하는지 확인하세요. 열렸나요? extension= php_openssl.dll열려 있으면 php 디렉토리에 있는 두 개의 확장 파일이 c/:windows/System32libeay32.dll ssleay32.dll에 복사되었는지 확인하세요. 추가로: 서버를 바꾸지 않고 코드만 바꾸면 시도해 볼 수도 있습니다. 참고 => 아직 시도해보지 않았습니다방법 1: fsockopen 함수를 pfsockopen 함수로 대체
pfsockopen의 매개변수는 기본적으로 fsockopen과 동일하므로
@fsockopen을 @pfsockopen으로 바꾸면 됩니다. 운이 좋으면 pfsockopen이 비활성화되지 않은 경우
을 통해 확인하세요. 방법 2: stream_socket_client 함수 사용
일반적으로 fsockopen()은 금지됩니다. pfsockopen 또한 금지될 수 있으므로 여기에 또 다른 함수 stream_socket_client()가 있습니다.
stream_socket_client의 매개변수는 fsockopen과 다르므로 코드를 다음과 같이 수정해야 합니다.
$this->smtp_conn = stream_socket_client ("tcp ://".$host.":".$port, $errno, $errstr, $tval);
그렇습니다.
본 글은 '909가 타깃' 블로그에서 가져온 글이니 출처를 꼭 남겨주세요
연결은 다음과 같습니다.
http://www.68idc.cn/help/jiabenmake/qita/2014042793331.html
위 내용은 관련 측면을 포함하여 PHPmailer의 서버 연결 실패 실패에 대해 소개했습니다. PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.