8

シンプルなメール機能を含む zend フレームワーク アプリケーションを開発しています。開発バージョンは、Ubuntu を実行している私のコンピューターで実行されています。製品バージョンは、製品サーバーで実行されます。

自分自身にテスト メールを送信しようとすると、「メールを送信できません」というメッセージが表示されて例外が発生します。これが環境の問題なのか、コードの問題なのかはわかりません。私はトランスポートを使用していないので、デフォルトでZend_Mail_Transport_Sendmail. これが私のコードです:

public function sendtestAction()
{
    $mail = new Zend_Mail();
    $mail->setFrom('test@aol.com', 'Test Email');
    $mail->addTo('my@email.com', 'My Name');
    $mail->setSubject('This is just a test.');
    $mail->setBodyText('This is only a test.');
    $mail->send();
}

更新: SMTP トランスポートを localhost を使用するように設定することで、別のアプローチを試みました。

transport = new Zend_Mail_Transport_Smtp('localhost');
Zend_Mail::setDefaultTransport($transport); 

今回は別のエラーが発生しました:「接続が拒否されました」意味がわかりません。多分私はまだ何かを設定していませんか?

更新: SMTP サーバーをインストール/セットアップしていなかったと思います。このチュートリアルにより、SMTP サーバーを稼働させることが非常に簡単になりました。これで、上記の両方のコード サンプルが機能します。

4

2 に答える 2

2

sendmail (デフォルト) を使用したいが、SMTP が異なる場合は、デフォルトのトランスポートを設定したくありません。

メールが送信されないということは、サーバー上の sendmail または MTA がインストールされていないか、正しくセットアップされていないことを示しています。

于 2009-10-28T00:01:25.533 に答える
2

MTA を設定するか、送信先の MTA を見つける必要があるようです。Ubuntu デスクトップは、デフォルトで、おそらく exim または postfix のいずれかをセットアップする必要がありますが、構成していない場合は、実行されない可能性があります。

于 2009-10-28T00:02:47.140 に答える