シンプルなメール機能を含む 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 サーバーを稼働させることが非常に簡単になりました。これで、上記の両方のコード サンプルが機能します。