2016-06-17 2 views
2

투표를하기 전에 또는 중복되도록하려면 설명을 읽어보십시오.Laravel을 통해 Gmail smtp 사용 : [연결 시간이 초과되었습니다. 110]

나는이 질문을 여러 번 물어 알고 다른 해결책을 가지고 있지만 아무도 노력한 적은 없다. 이것은 나의 설정이다.

MAIL_DRIVER=smtp 
MAIL_HOST=smtp.gmail.com 
MAIL_PORT=465 
[email protected] 
MAIL_PASSWORD=mypassword 
MAIL_ENCRYPTION=ssl 

그리고 현재 응용 프로그램은 Centos 7 OS에서 실행 중입니다. smtp.gmail.com with 173.194.65.108를, 또는 smtp.gmail.com by gmail-smtp-msa.l.google.com 교체 :

나는 항상

Swift_TransportException in StreamBuffer.php line 269: Connection could not be established with host smtp.gmail.com [Connection timed out #110]

at Swift_Transport_StreamBuffer->initialize(array('protocol' => 'ssl', 'host' => 'smtp.gmail.com', 'port' => '465', 'timeout' => '30', 'blocking' => '1', 'tls' => false, 'type' => '1', 'stream_context_options' => array())) in AbstractSmtpTransport.php line 113

내가 교체로 모든 솔루션을 시도 얻을. 이 두 단계를 수행 할 때 서버에 오류가 없습니다.

메일 드라이버를 smtp to sendmail or mail으로 변경하면 오류는 발생하지 않지만 전자 메일은 보내지 않습니다.

내가 smtp.gmail.com의 IP 주소를 사용하면 동일한 결과가 나타납니다. 포트를 465 to 587에서 암호화하고 ssl to tls에서 암호화하면 아무 일도 일어나지 않습니다.

나는 또한 etc/gai.conf에 파일을 생성했으며 precedence ::ffff:0:0/96 100을 입력했습니다. 그것은 한 번 일했습니다. 그러나 2 시간 후에, 그것은 작동을 멈추고 동일한 오류를 던지기 시작했습니다.

나는 또한 내 Gmail ID를 사용했지만 모두 헛되이 노력했다.

테스트 할 수없는 유일한 해결책은 getsebool httpd_can_sendmail 명령을 실행할 때마다 httpd_can_sendmail을 확인할 때입니다. getsebool: SELinux is disabled이 표시됩니다. 이 문제가 있거나 해결할 다른 방법이 있습니까?

+0

변경 포트를'587' 및'tls'로 설정하고 보안되지 않은 응용 프로그램이 인증되도록 허용합니다. – Ohgodwhy

+0

내 경우에는 호스트가 외부 SMTP 연결을 차단합니다. Mailgun의 API를 사용한다면 이것은 문제가되지 않습니다. – user2094178

답변

1

여기 내 작업 메일 설정 파일입니다

return [ 
    'driver' => 'smtp', 
    'host' => 'smtp.gmail.com', 
    'port' => 587, 
    'from' => ['address' => '*******@gmail.com', 'name' => '****'], 
    'encryption' => 'tls', 
    'username' => '*******@gmail.com', 
    'password' => '*******', 
    'sendmail' => '/usr/sbin/sendmail -bs', 
]; 

하지만 귀하의 질문에서 나는 이미 모든 것을 시도 볼 수 있습니다, 그래서 난이 '연결 시간 초과'오류를 기반으로 네트워크 문제입니다 가정 할 수있다, 내 말은 뭔가가 당신의 연결을 차단하고 있다는 것입니다, 당신의 방화벽 일 수도 있습니다.

먼저 포트 587이 열려 있는지 확인하거나 다른 응용 프로그램이 smtp.gmail.com에 연결할 수 있는지 확인할 수 있습니다 (centOS로 표시하는 방법을 모름).

그리고 마침내 문제가되지는 않지만 테스트를 위해 Google 계정에 '덜 안전한 앱 허용'을 설정해야합니다. (이것은 영구적 인 해결책이 아니지만 테스트를 위해 작동하는 경우 Google 계정에서 2 단계 인증을 활성화 한 다음 새 애플리케이션을 만들면 smtp 서버의 비밀번호로 사용할 수있는 새로운 특별 비밀번호를 만들 수 있습니다)

+0

감사의 응답을 보내 주셔서 감사합니다. 나는이 모든 옵션을 이미 시도했다. –

관련 문제