sendmailは無効なタイムゾーンを使用します。

sendmailは無効なタイムゾーンを使用します。

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

関連情報