특정 시간에 이메일 보내기

특정 시간에 이메일 보내기

예를 들어, 지금 이메일을 작성하여 미래의 특정 시간에 발송하고 싶습니다. 아침에 사무실이 열리면.

이를 수행하는 좋은 방법은 무엇입니까?

대부분의 사용자 에이전트는 이 기능을 지원하지 않습니다. 아마도 연중무휴 24시간 운영을 기대할 수 없기 때문에 이것은 나에게 의미가 있습니다.

지연 전송을 위한 서버 측 기능이 있습니까? 현재 Postfix 메일 서버를 운영하고 있습니다.

유닉스 방식은 무엇입니까?

(KMail에 이 기능이 있다는 것을 알고 있지만 이 특정 응용 프로그램은 많은 인프라를 묶을 수 있기 때문에 피하고 싶습니다.)

답변1

postfix를 사용하는 경우 메커니즘이 설명되어 있습니다.여기, 아직 시도하지 않았습니다.

다음 줄을 복사하고 추가하여 postfix를 재구성합니다 /etc/postfix/main.cf.

defer_transports = hold
default_transport = hold

이미 파일이 있을 수도 있습니다 default_transport. 새 파일을 실제 파일로 바꾸고 main.cfpostfix를 다시 시작한 후 메일을 보내세요. hold대기열에 추가됩니다 . 대기열을 해제하려면 실제를 복원하고 main.cfpostfix를 다시 시작한 다음 대기열을 강제로 해제하십시오.

sudo service postfix restart
sudo mailq -q

위의 것 외에도 다음을 수행할 수 있습니다.지정된 헤더로 메시지 유지예를 들어, 메일 프로그램에서 X-스타일 헤더를 추가할 수 있거나 특정 헤더 문자열과 일치시키려는 경우입니다 Subject: junk of the day. 접미사가 이 regexp기능을 구현하는지 확인하세요.

postconf -m|egrep 'regexp|pcre'

최소한 정규 표현식이 출력되어야 합니다. 파일을 생성 /etc/postfix/header_checks하고 일치시키려는 헤더의 정규식 패턴을 입력하고 그 뒤에 를 입력합니다 HOLD. 예를 들면 다음과 같습니다.

/Subject: *junk of the day/ HOLD

이 지도 파일의 이름을 다음 위치에 추가하세요 /etc/postfix/main.cf.

header_checks = regexp:/etc/postfix/header_checks

그리고 postfix를 다시 시작하세요. 적절한 메시지를 보내고 mailq 대기 대기열에 있는지 확인합니다( !대기열 ID 옆에 표시됨). 모든 보류 메시지를 해제하고 보내려면:

sudo postsuper -H  ALL
sendmail -q

관련 정보