- PR -

受信日時の設定 postfix qpopper

1
投稿者投稿内容
あおい
会議室デビュー日: 2004/04/20
投稿数: 8
投稿日時: 2004-04-30 11:29
postfixでメールサーバー(SMTP-AUTHでCyrus SASL)を使用しています。
また、クライアントは、Win XP でOutlookを使用しています。
今、送受信のテストをしているのですが、送受信はできます。そこで、ひとつに気になるのですが、受信日時がどうも違うのです。サーバーのPCの時間が違うと思いまして、サーバーのPCをみたら、正確な時間をさしていました。クライアントのPCの時間も正確な時間をさしてます。
 postfix や qpopperでどうすれば、時間を設定することができるでしょうか?

サーバーPCは

OS vine 2.6 r4 フルインストール

postfix
qpopper(?) <vineでインストールされてるもの
を使ってます。

よろしくお願いします。


ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-04-30 12:59
# 受信日時ってどうやって取得してるのかしら?
# Received フィールドかな?

えーと、どう時間が違うのでしょうか?
おそらくは timezone がズレているのだと思いますが...
「システムに設定されているtimezone」と「合わせられている時刻」とが
不整合なのではないかと...
anights
ぬし
会議室デビュー日: 2003/05/22
投稿数: 277
お住まい・勤務地: 東京
投稿日時: 2004-04-30 14:36
引用:

あおいさんの書き込み (2004-04-30 11:29) より:
今、送受信のテストをしているのですが、送受信はできます。そこで、ひとつに気になるのですが、受信日時がどうも違うのです。サーバーのPCの時間が違うと思いまして、サーバーのPCをみたら、正確な時間をさしていました。クライアントのPCの時間も正確な時間をさしてます。
 postfix や qpopperでどうすれば、時間を設定することができるでしょうか?



timezoneの間違えとかもあるので、ただ「違う」とか「正確」とかではなくて
プラスマイナス何時間違うぐらいまでの情報はほしいですね。

Vineのpostfixはどうか知りませんが以下あたりを参照してみて下さい。http://www.kobitosan.net/postfix/QandA.html#2.11


あおい
会議室デビュー日: 2004/04/20
投稿数: 8
投稿日時: 2004-04-30 21:34
ぽんすさん、anightさん
返答ありがとうございます。

timezoonを
date 日時時間
hwclock -w
をやって、正確にあわせても、
なぜか、+9時間のずれが生じます。

設定したのは以下です(例)
date 0430211504  4月30日 21時15分 2004
hwclock -w (ハードウェアと同期させる)

それを設定して、テストしてみると 5月1日 6時15分に届いたことになってます。

anightsさん

>># cp /usr/share/zoneinfo/Japan /var/spool/postfix/etc/localtime

と言う部分がリンク先にあったのですが、/var/spool/postfix/ までありますが、etc/localtime がありません。だから実行できないと思うのでがどうでしょうか


ぽんすさん

>>「システムに設定されているtimezone」と「合わせられている時刻」とかが不整合

この合わせられている時刻というのは、どういった意味なんでしょうか?





ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-05-01 00:12
引用:

あおいさんの書き込み (2004-04-30 21:34) より:
timezoonを
date 日時時間
hwclock -w
をやって、正確にあわせても、


そこで行われているのは時刻合わせです。
timezone ではありません。
timezone とゆーのは、たとえば日本標準時とかアメリカ東部時間とか
グリニッジ標準時とかいうヤツです。

引用:

date 0430211504  4月30日 21時15分 2004
hwclock -w (ハードウェアと同期させる)

それを設定して、テストしてみると 5月1日 6時15分に届いたことになってます。


システムの timezone が UTC(協定世界時)になっているのでしょう。
UTC の4月30日21時15分は、JST(日本標準時)5月1日6時15分です。

引用:

と言う部分がリンク先にあったのですが、/var/spool/postfix/ までありますが、etc/localtime がありません。だから実行できないと思うのでがどうでしょうか


それは postfix を chroot 環境で動かしている場合の話です。
chroot していないなら、ふつうに /etc/localtime で timezone が
決まります。timezone を JST にするなら、
cp /usr/share/zoneinfo/Japan /etc/localtime
です。
# シンボリックリンクにすることが多い気もしますが、手近な Linux マシンを
# みるとみんな実体のあるファイルになってました...
あおい
会議室デビュー日: 2004/04/20
投稿数: 8
投稿日時: 2004-05-01 13:27
ぽんすさんありがとうございました。

やはりtimezoonが間違ってみたいです。
たぶん、HWがJST(日本時間)になっていなかったようです。

cp /usr/share/zoneinfo/Japan /etc/localtime
ここまで、ではまだ反映されていなかったので、

HWCLOCK="--localtime" >>ここが重要だった!?

TIMEZONE="Asia/Tokyo" ここからはいらないのかもしれませんが・・・
DEFAULT_TIMEZONE="Asia/Tokyo"
として、
もう一度dateで時刻あわせしたら直りました。(無意味かもしれませんが、いちおう)

>>http://www10.ocn.ne.jp/~masimai/filelist.html 
ここのClockの項目を参考にさせてもらいました。

これらの設定をしているうちに、デスクトップのほうで時間を見てみるかと思い、時間>今日 をクリックすると アプリケーション「gnomecal」(プロセス17155)は致命的エラーによってクラッシュしました。(セグメンテーション違反です)
と言われました。

時刻あわせはターミナルのほうでできそうなのですが、この先問題になるでしょうか?

本当にありがとうございました。
ぽんす
ぬし
会議室デビュー日: 2003/05/21
投稿数: 1023
投稿日時: 2004-05-01 17:23
ん? RTC(=ハードウェアクロック)を使うのは通常はOS起動時だけで、
その後はOS内部の時計を使うのでRTCがどうなっていようと関係ないはず
ですが... ひょっとして、OSを再起動されました?だとすると、その際に
システムの時計がRTCに合ってしまうので、適切な設定がなされていないと
時計が狂ってしまいますが...

RTCをどう合わせるかというのは議論のあるところでして。
伝統的には「RTCはUTCに合わせておくべき」と言われているのですが、
そのあたりの事情を知らない方だとローカル(日本ならJST)に合わせて
おいたほうがトラブルが少ないんじゃないかなあ、と思います。
# HWCLOCK="--localtime" 以下で書かれているのが RTC を JST に
# 合わせて、OS起動時にもそのように解釈してシステムの時計合わせを
# やらせる設定です。

gnomecal というのは知りませんが...

とりあえず、どこかのNTPサーバを利用して自動的に時計合わせをする
ようにしておいたほうがいいんじゃないかなあ、と思います。
SMTPサーバを運用する場合、時計が狂っていると迷惑をかけることにも
なりますので。
# NTP は、あまりに時計がズレていると合わせてくれないので、
# あらかじめある程度はあわせておく必要がありますが。
## あまりに大きく時間を変えてしまうと、それはそれで別の
## トラブルの元になるので。
ntpdate で時刻合わせをするスクリプトを書いておき、それを cron に
登録して自動実行させる、という類の解説はあちこちにありますので、
googleとかで探してみて下さい。

追記。Linux の「時計」に関する詳しい説明が
man 8 hwclock
で得られます。

[ メッセージ編集済み 編集者: ぽんす 編集日時 2004-05-01 17:28 ]
1

スキルアップ/キャリアアップ(JOB@IT)