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