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

문제는 내가 이메일을 받았다는 것이다.한 시간 뒤인 오전 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

관련 정보