1

PHPmailer を使用して電子メールを送信しようとしていますが、php.ini で SMTP サーバーを変更すると、phpinfo で更新されません。まだ localhost が表示されます。これがエラーが発生する理由だと思いますSMTP Error: Could not connect to SMTP host

smtp_port を変更できるにもかかわらず、SMTP サーバーを変更できないエラーと考えられる理由を見つけるのを手伝ってもらえますか?

私はすでにメールサーバーでこれを試しましたが、pearのインストールにも多くの問題があったので、これを機能させたいだけです. smtp.mail.yahoo.com、 、および独自のメールサーバーを試しましたが、smtp.gmail.comまだ localhost として表示されます。変更するたびに再起動しました

単純な電子メールを送信する際の問題を診断するのは 3 日目です (これは asp.net ではるかに簡単であることがわかりました)。さらに情報が必要な場合は、お知らせください。前もって感謝します。

4

2 に答える 2

1

ばかげた質問かもしれませんが、正しい php.ini ファイルを使用していますか? - 多くの施設では、周囲に複数ある場合があります。変更する php.ini ファイルが phpinfo() で参照されているものであることを常に再確認します

于 2012-09-24T19:39:58.287 に答える
0

これについてさらに考えてみると、私はphpmailerを使用していますが、php.iniでSMTPサーバーを設定する必要はありませんでした。代わりに、phpmailerを拡張する新しいクラスを作成し、以下のように、そこにSMTP設定を指定します。

これにより、php.iniや標準のphpmailerファイルに触れることなく、複数のサイトのSMTP設定を構成できます。

<?php
require_once('initialise.inc.php');  // Initialising constants including LIB_PATH & DS
require_once(LIB_PATH.DS."phpmailer".DS."class.phpmailer.php");
require_once(LIB_PATH.DS."phpmailer".DS."class.smtp.php");

class my_phpmailer extends phpmailer {

    public $From = "me@example.com"; // Email Address
    public $FromName = "My Name"; // Name
    public $Host = "mailserver.example.com";
    public $Mailer = "smtp";
    public $WordWrap = 75;
    public $Username = "***************"; // SMTP account username
    public $Password = "********"; // SMTP account password


    function __construct() {
    }

    public function __toString() {
    return $this;
    }
于 2012-09-25T18:45:20.720 に答える