slocalmh - 클라우드의 온라인

이것은 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 명령 slocalmh입니다.

프로그램:

이름


slocal - 새 메일을 비동기적으로 필터링하고 배달합니다.

개요


/usr/lib/mh/slocal [-주소 주소] [-정보 데이터] [-보내는 사람 송신기] [-사용자 사용자 이름]
[-사서함 엠박스] [-파일 파일] [-우편 배달 배달 파일] [-말 수가 많은 | -노버보스]
[-억제 | -nosuppressdup] [-디버그] [-번역] [-도움]

기술


슬로컬 는 인바운드 메일을 다음과 같이 처리할 수 있도록 설계된 프로그램입니다.
복잡한 선택 기준. 당신은 일반적으로 호출하지 않습니다 현지인 오히려 자신을
현지인 시스템의 메시지 전송 에이전트(예:
메일을 보내다) 메시지가 도착할 때.

에서 사용하는 메시지 선택 기준 현지인 is 지정 파일에서 ".우편배달"에
사용자의 홈 디렉토리. 다음을 사용하여 대체 파일을 지정할 수 있습니다. -우편 배달 파일
옵션. 이 파일의 구문은 아래에 지정되어 있습니다.

메시지 전달 주소 및 메시지 발신자는 메시지 전송에서 결정됩니다.
가능한 경우 에이전트 봉투 정보. 아래에 메일을 보내다, 발신자는 다음에서 얻습니다.
UUCP "From:" 행(있는 경우). 사용자는 이러한 값을 -주소 and
-보내는 사람 스위치.

메시지는 일반적으로 표준 입력에서 읽습니다. NS -파일 스위치는 이름을 설정합니다.
stdin을 읽는 대신 메시지를 읽어야 하는 파일입니다. 이것은 유용하다
디버깅할 때 ".우편배달" 파일입니다.

이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 -사용자 스위치가 알려줍니다 현지인 메일을 배달하는 사용자의 이름입니다. NS
-사서함 스위치가 알려줍니다 현지인 사용자의 메일 드롭 파일 이름.

현지인 중복 메시지를 감지하고 억제할 수 있습니다. 이를 활성화하려면 옵션을 사용하십시오.
-억제. 현지인 들어오는 메시지 ID를 포함하는 데이터베이스를 유지합니다.
중복을 감지하기 위해 메시지. 구성에 따라 이 데이터베이스는
ndbm 또는 Berkeley db 형식입니다.

이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 -정보 switch는 임의의 인수를 하위 프로세스에 전달하는 데 사용할 수 있습니다. 현지인
귀하를 대신하여 호출할 수 있습니다.

이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 -말 수가 많은 원인을 바꾸다 현지인 진행 상황에 대한 정보를 stdout에 제공합니다. NS
-디버그 스위치는 stderr에서 더 자세한 디버깅 출력을 생성합니다. 이 플래그는 유용합니다.
".우편배달" 파일을 볼 수 있으므로
하는 결정과 행동 현지인 귀하의 구문 오류를 확인하고
".우편배달" 파일입니다.

관심 있는 분야를 알려주세요(선택사항) 토큰 전송 중개인
다음을 포함한 대부분의 최신 MTA 메일을 보내다, 접미사 and 인 exim .forward 파일 지원
들어오는 메일을 지시합니다. 행을 포함해야 합니다.

"| /usr/lib/mh/slocal -사용자 사용자 이름”

홈 디렉토리의 .forward 파일에 있습니다. 그러면 MTA가 호출됩니다. 현지인
메시지가 도착하면 귀하를 대신하여

이 어플리케이션에는 XNUMXµm 및 XNUMXµm 파장에서 최대 XNUMXW의 평균 출력을 제공하는 우편 배달 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
".우편배달" 파일이 제어하는 ​​방법 현지인 수신 메일을 필터링하고 배달합니다. 각
이 파일의 행은 공백이나 쉼표로 구분된 XNUMX개의 필드로 구성됩니다. 부터
큰따옴표는 존중되며 이러한 문자는 다음과 같이 단일 인수에 포함될 수 있습니다.
전체 인수를 큰따옴표로 묶습니다. 큰따옴표는 다음과 같이 포함할 수 있습니다.
그 앞에 백슬래시를 붙입니다. `#'으로 시작하는 줄과 빈 줄은 무시됩니다.

"에서 각 줄의 형식.우편배달" 파일은 다음과 같습니다.

머리글 무늬 동작 결과

머리글:
검색할 헤더 필드의 이름(예: To, Cc 또는 From)
무늬. 이것은 존재할 수 있는 메시지 헤더의 모든 필드입니다.

다음 특수 필드도 정의됩니다.

대역 외 발신자 정보

요지 수취인에게 배달하는 데 사용된 주소

디폴트 값 이것은 일치 메시지가 아직 전달되지 않은 경우

* 이것은 항상 일치합니다

무늬:
지정된 헤더 필드에서 일치시킬 문자 시퀀스입니다. 매칭은 대소문자-
둔감하지만 정규식을 사용하지 않습니다.

동작:
메시지를 전달하기 위해 수행할 작업입니다. 메시지가 전달되면,
"Delivery-Date: date" 헤더가 추가되어 해당 메시지의 날짜와 시간을 나타냅니다.
배달되었다.

파괴
이 작업은 항상 성공합니다.

파일, 엠박스>
다음에 의해 명명된 파일에 메시지를 추가합니다. . 메시지가
mbox(uucp) 형식의 파일입니다. 이것은 대부분의 다른 메일 클라이언트에서 사용하는 형식입니다.
(예: mailx, elm). 메시지를 파일에 추가할 수 있는 경우 이
동작이 성공합니다.

mmdf
동일 파일, 그러나 항상 MMDF 편지함 형식을 사용하여 메시지를 추가합니다.

파이프 or |
다음으로 명명된 명령에 대한 표준 입력으로 메시지를 파이프합니다. 사용
본 쉘 sh 문자열을 해석합니다. 문자열을 주기 전에
쉘에서는 다음 내장 변수로 확장됩니다.

$(sender) 대역 외 발신자 정보

$(address) 받는 사람에게 배달하는 데 사용된 주소

$(size) 바이트 단위의 메시지 크기

$(reply-to) 메시지의 "Reply-To:" 또는 "From:" 필드

$(info) 대역 외 정보 지정

큐파이프 or ^
유사하게 파이프, 그러나 내장 변수 다음에 직접 명령을 실행합니다.
쉘의 도움 없이 확장할 수 있습니다. 이 조치는 다음을 방지하는 데 사용할 수 있습니다.
쉘이 해석할 수 있는 특수 문자를 인용합니다.

폴더 or +
에 메시지를 저장합니다. nmh 이름이 지정된 폴더 . 현재 처리중입니다
메시지를 파이핑하여 nmh 프로그램 RCV스토어, 변경될 수 있지만
미래.

결과:
작업을 수행하는 방법을 나타냅니다.

A 작업을 수행합니다. 작업이 성공하면 메시지가 고려됩니다.
배달.

R 작업을 수행합니다. 행동의 결과에 관계없이 메시지는
전달된 것으로 간주됩니다.

? 메시지가 배달되지 않은 경우에만 작업을 수행합니다. 만약 행동이
성공하면 메시지가 배달된 것으로 간주됩니다.

N 메시지가 전달되지 않았고 이전
작업이 성공했습니다. 이 작업이 성공하면 메시지가 고려됩니다.
배달.

전달 파일은 항상 완전히 읽혀서 여러 개의 일치 항목이 만들어지고
여러 조치를 취할 수 있습니다.

보안 of 배송 파일
보안 문제를 방지하기 위해 ".우편배달" 파일은 다음 중 하나가 소유해야 합니다.
사용자 또는 루트로, 소유자만 쓸 수 있어야 합니다. 그렇지 않은 경우,
파일을 읽지 않습니다.

".우편배달" 파일을 찾을 수 없거나 다음을 제공하는 작업을 수행하지 않습니다.
메시지, 다음 현지인 에서 글로벌 배달 파일을 확인합니다. /etc/nmh/메일배달.
이 파일은 동일한 규칙에 따라 읽습니다. 이 파일은 루트가 소유해야 하며 반드시
루트만 쓸 수 있어야 합니다.

글로벌 전달 파일을 찾을 수 없거나 전달하는 작업을 수행하지 않는 경우
메시지를 보낸 다음 사용자의 메일 드롭에 대한 표준 배달이 수행됩니다.

예시 배송 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
요약하자면 다음은 전달 파일의 예입니다.

#
# nmh의 slocal용 .maildelivery 파일
#
# 빈 줄과 '#'로 시작하는 줄은 무시됩니다.
#
# 필드 패턴 작업 결과 문자열
#

# "To:" 줄에 foobar가 있는 파일을 foobar.log 파일에 넣습니다.
foobar 파일로 foobar.log

# 콜맨에서 프로그램 메시지 아카이브로 메시지 파이프
콜맨 파이프 A /bin/message-archive에서

# "nmh-workers" 메일링 리스트에 있는 모든 것이 들어갑니다.
# 아직 제출하지 않은 경우 자체 폴더
nmh-workers 폴더로 ? nmh-workers

# 주제에 Unix가 있는 모든 것이 들어갑니다.
# 파일 유닉스 메일
제목 유닉스 파일 유닉스 메일

# 스티브가 보낸 메일을 읽고 싶지 않으니 파기
스티브 파괴 A -

# 아직 일치하지 않는 항목을 메일함에 넣습니다.
기본 파일 ? 사서함

# 항상 rcvtty를 실행
* - 파이프 R /usr/lib/mh/rcvtty

하위 프로세스 환경
프로세스가 호출될 때 해당 환경은 다음과 같습니다. 사용자/그룹 ID가 수신자의 ID로 설정됩니다.
아이디; 작업 디렉토리는 수신자의 홈 디렉토리입니다. umask는 0077입니다. NS
프로세스에 /dev/tty가 없습니다. 표준 입력은 메시지로 설정됩니다. 표준 출력 및
진단 출력은 /dev/null로 설정됩니다. 다른 모든 파일 설명자는 닫힙니다. NS
환경 변수 $ 사용자, $ HOME, $쉘 적절하게 설정되고 다른 환경이 없습니다.
변수가 존재합니다.

프로세스는 실행을 위해 일정 시간이 주어집니다. 프로세스가 종료되지 않는 경우
이 한도 내에서 프로세스는 극단적인 편견으로 종료됩니다. 양
시간은 ((크기 / 60) + 300)초로 계산되며, 여기서 크기는 바이트 수입니다.
메시지(최대 허용 시간 30분 포함).

작업의 성공 여부를 결정하는 데 프로세스의 종료 상태가 참조됩니다. NS
종료 상태가 XNUMX이면 작업이 성공했음을 의미합니다. 기타 종료 상태(또는 비정상
종료)는 작업이 실패했음을 의미합니다.

시간 제한을 피하기 위해 다음으로 시작된 프로세스를 구현할 수 있습니다.
포크()-NS. 부모는 즉시 적절한 값을 반환하고 자식은
원하는 기간 동안 원하는 대로 계속할 수 있습니다. 이 접근법은
부모가 종료 상태를 XNUMX으로 반환하려는 경우 다소 위험합니다. 부모가
XNUMX이 아닌 종료 상태를 반환하는 경우 이 접근 방식을 사용하면 더 빠르게 전달할 수 있습니다.
당신의 우편함에.

onworks.net 서비스를 사용하여 slocalmh 온라인 사용



최신 Linux 및 Windows 온라인 프로그램