1

PHPを使用して開発環境の「localhost」からメールを送信できるようにphp.iniファイルを構成しようとしています。開いているSMTPサーバーにアクセスできなくなり、Gmailは新しいSSL設定で動作しなくなりました。私は多くの調査を行い、ここや他の場所で多くの「解決策」を見てきましたが、それらは機能しません。ローカルSMTPサーバーをインストールしようとしました(hMailServerがインストールするパスワードを要求する、無料のSMTPサーバーが機能しないなど)。

php.iniファイルでセットアップできる無料のSMTPサーバー、またはローカルホストからメールを送信する他の方法を知っている人はいますか(テスト目的で必要です)。本番環境に切り替えるときに、コードを変更したり、まったく異なる方法でメールを送信したりする必要はありません。(私はZendとZend_Mailクラスを使用しています)

4

4 に答える 4

3

代わりに、テストにZend_Mail_Transport_Fileを使用してみてください。

$mail = new Zend_Mail();
$mail->send(new Zend_Mail_Transport_File());
于 2011-01-27T16:22:01.947 に答える
2

Windowsでは、通常、テスト目的でローカルホストからメールを送信するためにMercuryを使用していました。Mercuryは非営利目的で無料で使用でき、 xamppでも使用されます。

于 2011-01-27T16:17:38.270 に答える
0

XAMP、WAMPなどのソリューション。

hMailServerをダウンロードします; 次に、プログラムを構成します。

  1. hMailServer Administratorを最初に開いたときに、新しいドメインを追加する必要があります。
  2. ウェルカムページの[ドメインの追加...]ボタンをクリックします。
  3. ドメインテキストフィールドの下に、コンピュータのIPを入力します。この場合は127.0.0.1である必要があります。
  4. [保存]ボタンをクリックします。
  5. [設定]>[プロトコル]>[SMTP]に移動し、[メールの配信]タブを選択します
  6. [ローカルホスト名]フィールドに「localhost」と入力します。
  7. [保存]ボタンをクリックします。

別のコンピューターのFROM宛先を使用してメールを送信する必要がある場合は、外部アカウントから外部アカウントへの配信を許可する必要があります。これを行うには、次の手順に従います。

  1. [設定]>[詳細設定]>[IP範囲]に移動し、IPアドレスが127.0.0.1である[マイコンピューター]をダブルクリックします。
  2. [外部アカウントから外部アカウントへの配信を許可する]チェックボックスをオンにします。
  3. [保存]ボタンを使用して設定を保存します。

Gmailアカウントを使用している場合は、少し変更する必要があります。

  1. [設定]>[プロトコル]>[SMTP]に移動し、[メールの配信]タブを選択します
  2. [リモートホスト名]フィールドに「smtp.gmail.com」と入力します。
  3. ポート番号として「465」を入力します
  4. 「サーバーには認証が必要」にチェックを入れます
  5. [ユーザー名]フィールドにGoogleMailアドレスを入力します
  6. パスワードフィールドにGoogleMailのパスワードを入力します。
  7. 「SSLを使用する」にチェックを入れます
于 2013-05-29T12:55:48.427 に答える
-1

メールの転送には、この構成を使用する必要があります

$transport = new Mail\Transport\Smtp();  
        $options = new Mail\Transport\SmtpOptions (array(  
                    'name' => 'host',  
                    'host' => 'smtp.gmail.com',  
                    'port'=> 587,  
                    'connection_class' => 'login',  
                    'connection_config' => array(  
                        'username' => "yourGmailUserMail",  
                        'password' => 'yourGmailPassword',  
                        'ssl'=> 'tls',  
                    ),  
        )); 
        $transport->setOptions($options)

;

そしてそれは動作します。

于 2014-02-22T17:45:00.303 に答える