CentOSサーバーでsendmailを実行しています。サーバーがBSTに設定され、tzdataが正しいです。
$ date
Tue Jul 2 10:53:56 BST 2013
$ ll /etc/localtime
lrwxrwxrwx 1 root root 33 Jun 28 17:07 /etc/localtime -> /usr/share/zoneinfo/Europe/London
cronjobを介してメールを送信するこのサーバーで実行されるbashスクリプトがあります。毎日実行するように設定されたcronjob午前7時。
00 07 * * * sh /root/check_mail_process.sh
ログには、/var/log/cron
サーバーが指定された時間にジョブを実行したことが示されます。
Jul 1 07:00:01 ukibimon01 crond[15407]: (root) CMD (sh /root/check_mail_process.sh)
次の設定があります/etc/mail/sendmail.cf
。
# time zone handling:
# if undefined, use system default
# if defined but null, use TZ envariable passed in
# if defined and non-null, use that info
#O TimeZoneSpec=
また、このコンピューターにはTZ変数は設定されていません。
sendmailはスマートリレーを使用します。
私もスマートリレーを使って次のアドレスにメールを送ります。交換サーバー。
# "Smart" relay host (may be null)
DSexchange_server_address
問題は私が電子メールを受け取ったということです。1時間後の午前8時。。 Outlookのヘッダー情報は次の場所にあります。
サーバー(TLS)ID 14.16.324.0、2013年7月2日火曜日07:00:13 +0000 受信:BY2PRD0411HT003.namprd04.prod.outlook.com(IP)から BY2PRD0411HT005.namprd04.prod.outlook.com(IP) (Microsoft SMTP を含む)
したがって、sendmailは他の場所から時間を取った
答え1
あなたの責任が正しいと確信していますか?
with Microsoft SMTP
- Sendmailを意味するものではありません。
SendmailはCentOSで127.0.0.1:25への接続を許可していますか?
答え2
サーバーは UTC として実行されます。ユーザーとしての時間はGMT / BSTで表示されます。
ファイルの午前7時cron
はUTC 0700ですが、現在(10月上旬)にはBST 0800として表示されます。これは、Exchangeから電子メールを受信した時間に対応します。
答え3
たとえば、太平洋標準時の場合は、次のように設定できます。
私は努力しますsendmail.cf
:
O TimeZoneSpec=PST8PDT
またはsendmail.mc
:
define(`confTIME_ZONE', `PST8PDT')dnl