안녕하세요.
답글 고맙습니다.
그런데 perl 스크립트의 date는 단지 email 내용에 찍는 date 이고,
제 경우 문제가 된 것은
메일의 Header에서 Date가 제대로 처리되지 않았다는 것입니다.
그렇다면 sendmail 에서 뭔가 문제가 발생한 것일까요?
해당 CVS의 메일들의 Header를 확인하니,
Date 부분이 Date: emonPortOptions=Port=smtp, Name=MTA 로 처리되어 있습니
다.
문제가 된 메일이 아닌 다른 메일의 경우 daum 에서 header 보기를
선택하여
보니,
Date Sun, 05 Jan 2003 18:40:12 +0900 (KST) 로 표시가 되어 있네요.
제가 살펴본 Header를 첨부합니다.
=========================================================================
=====
Return-Path: <test@xxx.xxx.xxx.xxx>
Received: (from test@localhost)
by xxx.xxx.xxx.xxx (8.11.4/8.11.4) id gA52jK220653;
Tue, 5 Nov 2002 11:45:20 +0900
Date: emonPortOptions=Port=smtp, Name=MTA
Message-Id: <200211050245.gA52jK220653@xxx.xxx.xxx.xxx>
From: CVS Loginfo <cvs@xxx.xxx.xxx.xxx>
To: cvs@xxx.xxx.xxx.xxx
Subject: [ cvs ] test
Status: R
X-Status: N
=========================================================================
=====
Date 헤더가
Date: emonPortOptions=Port=smtp, Name=MTA 로 표시된 경우,
제가 어떻게 문제를 해결할 수 있을까요?
고맙습니다..
[산이]님이 남기신 글:
>[한경숙]님이 남기신 글:
>
>>안녕하세요.
>>무척 오랜만에 들렀습니다. 매번 질문있을 때에만 이렇게
들러서 죄송.. ^^;;
>
>정말 오랜만이군요. ^.9
>
>>
>>회사 개발팀의 자체 서버 관리도 맡고 있는데요. CVS를
운영합니다.
>>그런데 얼마전에 이런 문제가 생겼습니다.
>>
>>CVS에 Users가 로그인해서 변경한 사항을 반영하면 자동으로
email을 발송하도록 합니다.
>>이 때 loginfo.pl 이라는 perl로 만들어진 script가 sendmail로 email을
발송하게 하지요.
>>
>>loginfo.pl 에서는 users가 작성한 comment를 넣고, 그 작업의 시간을
date명령어를 실행하여 작업 시간 등을 기록한 email을
전송합니다.
>>이 때, loginfo.pl 자체에서는 이메일이 발송되는 시간을 따로
기록하는 부분은 없습니다.
>>즉, Outlook에 도착한 email의 format을 예로 들자면,
>>==========================================================
>>From: CVS Loginfo [mailto:cvs@cvs.xxxx.xxxx.xxxx]
>>Sent: <- 이 부분에 표시되는 날짜와 시각
>>To: cvs@cvs.xxxx.xxxx.xxxx
>>Subject: [ test ] gshan
>>==========================================================
>>
>>위의 Sent 부분은 sendmail이 작성하여 보내는 것으로 알고
있습니다.
>>그런데, 막상 users에게 도착한 메일은 두 가지 유형의 문제가
있습니다.
>>
>>==========================================================
>>유형 1)
>>From: CVS Loginfo [mailto:cvs@cvs.xxxx.xxxx.xxxx]
>>Sent: 없음
>>To: cvs@cvs.xxxx.xxxx.xxxx
>>Subject: [ test ] gshan
>>==========================================================
>>또는
>>==========================================================
>>유형 2)
>>From: CVS Loginfo [mailto:cvs@cvs.xxxx.xxxx.xxxx]
>>Sent: Monday, January 01, 1601 9:00 AM
>>To: cvs@cvs.xxxx.xxxx.xxxx
>>Subject: [ test ] gshan
>>==========================================================
>>
>>즉, 날짜와 시간이 아예 없음으로 표시되는 경우와 아예 잘못
표시되어 오는 경우 입니다.
>>그러나 linux 시스템에서 date 명령을 수행하여 check 하면 제
시간이 나옵니다.
>>무엇이 문제이며 어떻게 해결할 수 있을까요?? +_+
>>
>>
>>
>
>시스템 `date` 명령어를 사용하지 말고
>perl의 time()과 gmdate() 함수를 사용해 보세요.
>
>예)
>$date = gmtime(time() + (3600*9)) . ' KST';
>
>이런식으로.
>
========================================
|