0

Linux で bugzilla をセットアップしてみてください。セットアップ構成は次のとおりです。

  1. CentOS v6.4 32 ビット
  2. Bugzilla v4.2.5

インストールは問題なく、bugzilla は動作しているように見えますが、バグが報告または編集されるたびに電子メールを送信するように bugzilla を設定すると、bugzilla は電子メールを送信しません。以下は、bugzilla 管理者 > パラメータ > 電子メールの構成です。

  • mail_delivery_method : SMTP
  • mailfrom : [有効なメールアドレス]
  • smtpserver : [有効な電子メール ドメイン名]
  • smtp_username : [有効なメールアドレス]
  • smtp_password : [有効な電子メール パスワード]

SMTP サーバーは Microsoft Exchange サーバーです。新しいバグを報告すると、/var/log/httpd/error_log にエラー ログが作成されます。

[Tue Apr 30 15:25:25 2013] [error] [client xxxx] [Tue Apr 30 15:25:25 2013] post_bug.cgi: lib/ の文字列 eq で初期化されていない値 $ENV{"FLOCK_FORKING_USE"} を使用File/Flock/Forking.pm 13 行目、リファラー: http://xxxx/bugzilla/enter_bug.cgi?product=Test

メールがまったく届きません。

何がうまくいかなかったのだろうか...

4

1 に答える 1

0

この問題は、私の親切な同僚のおかげで解決されました。

Bugzilla にはメール キューイング サービス コール「jobqueue.pl」が付属しています。このサービスは、不足しているコンポーネントのインストール中に自動的にインストールされます (私はこの jobqueue.pl を手動でインストールしたことはないと思います)。

/etc/init.d/bugzilla.queue にも、bugzilla によってインストールされるサービスがあります。

「jobqueue.pl」と「bugzilla.queue」は実は同じものです。

bugzilla のインストールおよび構成ガイドでは、これについて決して言及しないでください。インストール後にbugzillaサーバーを再起動しなかったため、起動時にどちらのサービスにもchkconfigがオンになっているかどうかを確認しませんでした。そこで、手動で "chkconfig bugzilla-queue on" を実行しました。

  1. bugzilla web-admin で電子メール設定を構成し、新しいバグを送信しようとすると、mysql DB "bugs" > テーブル "ts_job" に電子メールが作成されます。これらのデータは有効でない可能性があるため、最初にこのテーブルをクリアする必要があります。

ts_job から削除します。

  1. 管理者 > パラメータ > 電子メール設定を正しく構成します。

  2. 実行するか、すでに実行されている場合は再起動します。

/etc/init.d/bugzilla-queue start

  1. 新しいバグを報告すると、メールが送信されます。ただし、/var/log/httpd/error_log に作成されたエラー ログがまだ表示される場合もあります。

[Wed May 08 10:19:31 2013] [error] [client xxxx] [Wed May 8 10:19:31 2013] post_bug.cgi: lib/ の文字列 eq で初期化されていない値 $ENV{"FLOCK_FORKING_USE"} を使用File/Flock/Forking.pm 13 行目、リファラー: http://xxxx/bugzilla/enter_bug.cgi

  1. 上記のエラー ログが表示されたまま、最終的にメールを受信できます。
于 2013-05-08T03:45:14.963 に答える