2016-06-17 17 views
2

票を落とすか、重複する前に、の説明を読んでください。Laravel経由でgmail smtpを使用する:[接続がタイムアウトしました#110]

私はこの質問が何度も尋ねられ、さまざまな解決策を持っていることを知っています。これは私の設定です。

​​

アプリケーションは現在Centos 7 OSで実行されています。

私はいつも

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.gmail.com with 173.194.65.108を、またはsmtp.gmail.com by gmail-smtp-msa.l.google.comを交換します。この2つのステップを実行すると、サーバーにエラーが見つかりませんでした。

メールドライバを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

ご回答ありがとうございます。私はすでにこれらのオプションをすべて試しています –

関連する問題