0

Web サイトの認証メールを設定しようとしています。派手なものや安全なものは必要ありませんが、これを機能させるために大きな問題が発生しています。

ここに私のPHPがあります

function emailconfirmation($temppass, $emailaddress) {
    $mail = new PHPMailer();
    $mail->IsSMTP();
    $mail->SMTPDebug = 1;
    $mail->SMTPAuth = true;
    $mail->SMTPSecure = 'tls';
    $mail->Host = 'smtp.gmail.com';
    $mail->Port = 587;
    $mail->Username = 'myEmail@gmail.com';
    $mail->Password = 'myGmailPassword';
    $mail->SetFrom('myEmail@gmail.com');
    $mail->AddAddress($emailaddress);
    $mail->Subject = 'Test';
    $mail->Body    = 'test authentication key: ' . $temppass;
    if(!$mail->send()) {
        return 'Error: ' . $mail->ErrorInfo;
    } else {
        return true;
    }
}

そして、これが吐き出し続けるエラーです

2013-09-14 22:43:13 CLIENT -> SERVER: EHLO www.mydomain.com 2013-09-14 22:43:13 CLIENT -> SERVER: STARTTLS
Warning: stream_socket_enable_crypto(): this stream does not support SSL/crypto in C:\wamp\bin\php\includes\PHPMailer-master\class.smtp.php on line 274
2013-09-14 22:43:13 CLIENT -> SERVER: QUIT 2013-09-14 22:43:13  SMTP ERROR: QUIT command failed: SMTP connect() failed.

皆さんが提供できるどんな助けも素晴らしいでしょう。参考までに、ポート 587 がファイアウォールを通過できるようにしましたが、送信先の電子メールが送信元の電子メールと同じではありません。ありがとう!


編集:真剣に、誰も?これは本当に私の神経質になっています

4

1 に答える 1

0

WAMP セットアップで OpenSSL を有効にする必要があります。

この行のコメントを外したようです:extension=php_openssl.dllこれは良いことですが、間違った OpenSSL ファイルでリリースされた apache 2.4.4 を搭載した Wampserver のようです!

この他のStackOverflow応答に従って、Win32 OpenSSL ファイルを自分でダウンロードしてインストールする必要があります。

次にWAMPを停止し、新しくインストールした OpenSSL ディレクトリから次のファイルを取得します。

bin\openssl.cfg
bin\libeay32.dll
bin\ssleay32.dll
bin\openssl.exe

WAMP/Apache ディレクトリのこれらのファイルにそれらをコピーします。

conf\openssl.cnf (rename the openssl.cfg file to openssl.cnf to overwrite this)
bin\libeay32.dll
bin\ssleay32.dll
bin\openssl.exe

最後にWAMP を起動します。

于 2013-09-15T00:22:25.683 に答える