ホームページ >バックエンド開発 >PHPチュートリアル >Apacheメール送信設定
php 経由でメールを送信したいのですが、apache-james-2.3.2.tar をダウンロードした後、run.bat をクリックするとすぐに終了します。専門家がメール サーバーを構成するより良い方法を持っている場合は、アドバイスをお願いします。よろしくお願いします
http://wenku.baidu.com/link?url= AKMpZxzuM0TRtMSqPKwiQeGYop-PNm1 -KQKlS0y8AaWJXei2nGpqPDMeatPZOvosWKAPziWbsrs50LctmnXuueIoEQkzgnM0ghFg8OHvi7e
それを見ましたが、Jamesbin フォルダーにインストール ファイルがまったくありませんでしたが、とにかくありがとう
james のインストールと構成
1. インストール:
1.環境要件:
Java プラットフォームがインストールされており、バージョンは j2sdk1.4.2 であり、環境変数 JAVA_HOME は C:j2sdk1.4.2 に設定されています。
2.ダウンロードして実行します:
Apache Web サイトから圧縮ファイル james-2.1-bin.zip (サイズ 4.44M) をダウンロードし、このパッケージを C: Jamesjames-2.1 に解凍します。
実行には 2 つの方法があります: フロント デスクで直接実行する方法と、バックグラウンド サービスとして実行する方法
1> フロント デスクで直接実行する方法:
C:Jamesjames-2.1bin で run.bat を実行します
次のように表示されます: PHOENIX_HOME: C:Jamesjames -2.1
PHOENIX_TMPDIR の使用: C:Jamesjames-2.1temp
JAVA_HOME の使用: C:j2sdk1.4.2
Phoenix 4.0.1
James 2.1
リモート マネージャー サービスがプレーンで開始されました:4555
POP 3 サービスがプレーンに開始されました:110
SMTP Service starting plain:25
NNTP Service Disabled
Fetch POP Disabled
これは、James メール サービスは開始できますが、Windows ではコンソール ウィンドウを閉じることができず、閉じないとメール サービスが停止することを意味します。この欠点を克服するには、James メール サービスをバックグラウンド サービスとして実行する必要があります。
フォアグラウンドの実行を停止するには、Ctrl+C を押すと、次のメッセージが表示されます:
JVM が異常終了しています
バッチ操作を終了します (Y/N)?
C: Jamesjames- 2.1conf ディレクトリのwrapper.conf を、wrapper.exe を含むディレクトリである C:Jamesjames-2.1bin にコピーし、次を実行します:
Wrapper.exe -i C:Jamesjames-2.1binwrapper.conf
次に、コントロールパネルのサービスで開くか、再起動します。
バックグラウンド サービスをアンインストールします:
Wrapper.exe が含まれるディレクトリである C:Jamesjames-2.1bin に移動し、次を実行します:
Wrapper.exe -r C:Jamesjames-2.1binwrapper.conf
3.
2. 設定:
1> サーバー側の設定 (メールサーバーの名前は EmailServer、サーバー管理者名は Admin であるものとします)
まず、開いている James メール サービスを停止します。ファイル C:Jamesjames-2.1appsjamesSAR-INFconfig .xml を開きます。
config.xml ファイルで、Postmaster@localhost を見つけ、この項目を Admin@EmailServer に変更して、場所を見つけます
- <--
-
-
localhost、この項目を EmailServer に変更します。これにより、他のマシンがメール システムにアクセスできるようになります。
DNS 設定: 同じファイルの
-
-
デフォルトのユーザー名 root とパスワード root を必要な値に変更します
Telnet 管理プログラムのログイン ポートを変更します: (デフォルトは 4555)
同じファイルの
-->
- ;
2> クライアントの設定: (省略)
3> アカウント管理
James のアカウント管理は、Telnet を通じて実行されます:
Telnet EmailServer 4555
EmailServer は IP に置き換えることもできます。ログイン時にユーザー名とパスワードが必要です。デフォルトのユーザー名とパスワードは両方とも root です。ログインが成功すると、プロンプトは次のようになります:
JAMES リモート管理ツール 2.1
ログイン名とパスワードを入力してください
ログイン ID:
この時点で root ユーザー名を入力し、次に次のように入力します:
パスワード:
パスワード root を入力してください
注: Windows 2000 などの一部のオペレーティング システムでは、ユーザー入力は表示されません。
Telnet コマンドリスト:
help
ヘルプを表示
Listusers
現在存在するアカウントをリストする
Countusers
現在存在するアカウントの数を表示する
addusers [ユーザー名] [パスワード]
新しいユーザーを追加する
verify [ ユーザー名 ]
特定のユーザーが存在するかどうかを確認する
deluser [ユーザー名]
既存のユーザーを削除する
setpassword [ユーザー名] [パスワード]
ユーザーのパスワードを設定する
setalias [エイリアス] [ユーザー名]
From [エイリアス] のすべてのメールを転送] ローカルで [ユーザー名] に転送します
unsetalias [エイリアス]
setalias 設定をキャンセルします
setforwarding [ユーザー名] [メールアドレス]
[ユーザー名] のメールを指定した [メールアドレス] に転送します
unsetforwarding [ユーザー名]
setforwarding 設定をキャンセルします
user [resource]
別のユーザーのリソースになります
shutdown
現在の James メール サービスの JVM プログラムを停止します (James がバックグラウンド サービスである場合、このコマンドは非常に便利です) )
Quit
Disconnect Telnet 接続
4> ユーザー情報のデータベース ストレージ
James メール ユーザーのユーザー情報は、デフォルトで appsjamesvarusers ディレクトリに保存されます。設定ファイル appsjamesSAR-INFconfig.xml を変更することで、ユーザー情報をデータベースに保存できます。 . の設定方法は次のとおりです:
MySQL データベースを使用していると仮定します:
ステップ 1: まず、MySQL ドライバー (例: mysql-connector-java-3.1.6-bin.jar) を James のlib ディレクトリ (例: D:jameslib)
ステップ 2: MySQL で新しいデータベース メールを作成します。
ステップ 3: config.xml を開き、
<リポジトリ名="LocalUsers" class="org.apache.james.userrepository.UsersFileRepository">
次のように変更する必要があります:
class="org.apache.james.userrepository. Jamesusersjdbcrepository "destinationurl =" db:// maildb/users "&gt; class="org.apache.james.userrepository.UsersFileRepository">
でコメントアウトします
を変更すると、ユーザーが変更されますinformation 記憶媒体が file から db に変更されました。
ステップ 4: 引き続き config.xml で、
lt;dburl>jdbc:mysql://127.0.0.1 /mail
または、ファイルの下の 注: このデフォルトの
D & lt;/driver & gt; ; データ ライブラリのアクセス パス。
再起動すると、james はメール データベースにユーザーに関するテーブルを自動的に作成します。
この時点でデータベースの設定は完了です。すべてが正常であれば、telnet 経由で新しいユーザーを追加し、MySQL のメール データベースを確認してください。これは、James が file:// に基づいて作成したもので、conf/sqlResources.xml の内容から作成されます。
上記の設定により、James のユーザー情報がデータベースに保存されます。
注: 以前に行ったアカウントの変更はすべて失われます。
1. FAQ
1. James を起動すると、POP3 または SMTP が使用できないというメッセージが表示されます。
「管理ツール?> サービス」で別のメールサーバーが起動していて、ポート 110 または 25 が占有されているかどうかを確認してください。
例:
James がフロントエンドを直接実行したときにエラーが発生しました:
ERROR 2005-08-25 08:58:38.642 [Phoenix.] (): 「smtpserver」という名前のコンポーネントが Initialization.stage を通過できませんでした (理由: java .net.BindException: アドレスはすでに使用されています: JVM_Bind)。
エラー 2005-08-25 08:58:38.652 [Phoenix.] (): 「」という名前のブロックのフェーズ「startup」の実行中にエラーが発生しました。 smtpserver". ( 理由: 「smtpserver」という名前のコンポーネントが初期化ステージを通過できませんでした。 (理由: java.net.BindException: アドレスがすでに使用されています: JVM_Bind)。)。
org.apache.excalibur.containerkit.lifecycle. LifecycleException: 「smtpserver」という名前のコンポーネントが初期化ステージを通過できませんでした (理由: java.net.BindException: アドレスはすでに使用されています: JVM_Bind) 理由:
James のデフォルト設定では 2 つのメール サーバー プロセスの実行が許可されていません。同じマシン上で。もう一方はオフにする必要があります。
検出方法:
コンソールインターフェースの下:
d:> telnet ホスト名 25 (または 110)
ログインできれば、
が表示されます220 ホスト名 Microsoft ESMTP MAIL Service、バージョン: 6.0.2600.1106 が木曜日、
25 Aug 2005 14:14:36 に準備完了 +0800
は、このマシン上で既にメール サーバーが実行されていることを意味します。
解決策:
Windows で実行されているサービスを確認します:
ネットワーク間で電子メールを転送するためのサービスである Simple Mail Transfer Protocol (SMTP) が開始されていますか?
開始されている場合は、閉じてください。
2. JAVA_HOME が見つかりませんか?
run.bat に JAVA_HOME を指定してください。 それでも動作しない場合は、「マイ コンピュータ?>システム?> 詳細?> 環境変数」に JAVA_HOME を追加してください。
3. サーバーは正常に起動しますが、クライアントはメールを送受信できませんか?
前述のように、クライアントの設定が正常であるかどうかを確認してください。さらに、james の下の config.xml を確認して、localhost がマシン名に変更されているかどうかを確認してください。
4. データベース ストレージに変更した後、james 起動エラーが発生します:
通常、データベース ドライバーが間違っています。チェックしてください