Web ページを使用すると、正常に実行され、送信できます。コマンドを使用して php ファイルを実行すると、次のようにエラーが発生します。
function sendmail($setEmail, $setName, $body, $subject) { require_once("PHPMail/phpmailer.php"); $mail = new PHPMailer ( true ); // the true param means it will throw exceptions on errors, which we need to catch $mail->IsSMTP (); // telling the class to use SMTP try { $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = SBT_SSL; // sets the prefix to the servier $mail->Host = SBT_SMTP_HOST; // sets GMAIL as the SMTP server $mail->Port = SBT_SMTP_PORT; // set the SMTP port for the GMAIL server $mail->Username = SBT_SMTP_USER; // GMAIL username $mail->Password = SBT_SMTP_PASS; // GMAIL password $mail->AddReplyTo ( SBT_MAIL_FROM, SBT_MAIL_FROM_NAME ); $mail->AddAddress ( $setEmail, $setName ); $mail->SetFrom (SBT_SMTP_USER,SBT_SMTP_USER); //sender name $mail->Subject = $subject; $mail->MsgHTML ( $body ); if (! $mail->Send ()) {//(这边没报错) echo "Message could not be sent. <p>"; echo "Mailer Error: " . $mail->ErrorInfo; exit (); } } catch ( phpmailerException $e ) { echo $e->errorMessage (); //Pretty error messages from PHPMailer(就是这边输出错误的) } catch ( Exception $e ) { echo $e->getMessage (); //Boring error messages from anything else! }}
Gmail のメールを使用しています、465
$mail->Host ="smtp.gmail.com"; $mail->Port =465
エラー コードは何ですか?
SMTP エラー: SMTP ホストに接続できませんでした。それが問題です
スクリーンショットを撮りましたが、アップロードできるかわかりません。試してみます [img=http://hi.csdn .net/space-48606-do- album-picid-730173-goto-down.html][/img]
今回は良いですね!
コマンドラインを使用すると、この拡張子とその拡張子で問題が発生すると推定されます。
opensll は拡張されていますか?はは、有効にする必要があります。有効にしないと、Web ページが正常に送信されません
このファイルは独立して実行できると確信していますか?
テストしたところ、Web ページは正常に動作しますが、コマンドラインは動作しません。拡張子 php_pdo_mysql.dll が見つかりません
もちろん、単独で実行することはできません。メールを送信しない場合は、テキストを出力してください。問題ありません
拡張子
php --ini を開いて、使用されている ini が Apache モジュールとして実行されているものと一致しているかどうかを確認します。
うまくいかない場合は、Linux 環境をインストールしてテストします。
この問題は php.ini が正しく設定されていないことであるとインターネットで読みました。確認したところ、SMTP が再割り当てされており、Gmail を使用していることがわかりました。
この問題は Linux では発生しません
php --ini 使用されている ini が Apache モジュールとして実行されている php と一致しているかどうかを確認してください
Tiger の頭、もっと詳しく ini ファイルを変更できますか?これでいいと思いますか?
[mail function]; For Win32 only.SMTP = localhostsmtp_port = 25; For Win32 only.sendmail_from = me@example.com; For Unix only. You may supply arguments as well (default: "sendmail -t -i").;sendmail_path = "/usr/sbin/sendmail -t -i"; Force the addition of the specified parameters to be passed as extra parameters; to the sendmail binary. These parameters will always replace the value of; the 5th parameter to mail(), even in safe mode.;mail.force_extra_parameters =
11階のfoolbirdflyfirstからの返信を引用します:
php --ini 使用されているiniがApacheモジュールとして実行されているphpと一致しているかどうかを確認してください
Tiger head、もっと詳しく教えていただけますか。 iniファイルを変更しますか?これでいいと思いますか?
PHP コード
[メール関数]
; Win32 のみ
SMTP = localhost
smtp_port = 25
; Win32 の場合...
そうですね、私は php コマンドについて話していました。 -ini、cli を参照してください。php で実行されている php と apache モジュールは、ini ファイルを共有していますか? phpcli が個別にインストールされている場合、ini ファイルが付属していることがあります
兄さん、そうですか。 Linuxに精通していますか?次に、私と同じように、require_once("PHPMail/phpmailer.php"); phpmailer をロードすることは可能ですか? Linux は phpmailer プラグインを受け入れないのが残念です
C:\wamp\bin\php\php5.2.6>php --iniConfiguration FILE (php.ini) Path: C:\WINDOWSLoaded Configuration FILE: C:\wamp\bin\php\php5.2.6\php.iniScan FOR additional .ini files IN: (NONE)Additional .ini files parsed: (NONE)
ここでの主な問題は、ソケットが SMTP サーバーに接続できない理由を調べることです。
ファイアウォールも可能です。
ロードされた設定ファイル: C:wampbinphpphp5.2.6php.ini
この php.ini は、現在実行している PHP.INI ではありません
コマンド: telnet smtp.gmail.com 465、接続が成功すると確信していますか?
いいですね
次に、php -c コマンドを使用して、正しい ini パスを導入します
php -c ini路径 php文件
見る方法を学びましょう
wamp 環境は ini ファイルを共有する必要があります。もう一度確認したい場合は、php Web ページで phpinfo() を出力して、使用されている ini ファイルがこれと一致しているかどうかを確認してください。
コマンド: telnet smtp.gmail.com 465、接続できることを確認してください 成功しましたか?
Telnet smtp.gmail.com 465 に接続できないので、どのメール サーバーを使用すればよいですか?
皆さんありがとうございます、最初はファイアウォールの問題、360 ファイアウォールをオフにするのを忘れました、次に ini の問題です。
RXPY2007 へ
php.ini の問題は何ですか? 明確に説明してください。私も Linux 環境でこの問題に遭遇しました
私の勝利でも問題が発生しました。環境
!
エンタープライズ バージョンは gmail に登録されていますか?
[Quote=14 階の rxpy2007 の返信からの引用:]
11 階の Foolbirdflyfirst の返信からの引用:
php --ini を使用して、ini が Apache モジュールとして実行されているかどうかを確認します。 PHPも同じです
Tiger head、詳細を教えてiniファイルを変更できますか?これでいいと思いますか?
PHP コード
[メール関数]
; Win32 のみ
SMTP = localhost
smtp_port = 25
; Win32 の場合...
そうですね、私は php コマンドについて話していました。 -ini、cli を参照してください。Apache モジュールで実行される php と、Apache モジュールで実行される php は、ini ファイルを共有しますか? phpcli が個別にインストールされている場合、ini ファイルが付属することがあります
php の使用方法を教えてください。イニ