fetchmail의 mda 옵션에서 텍스트 인코딩 비율

fetchmail의 mda 옵션에서 텍스트 인코딩 비율

아무런 처리 없이, procmail 없이 이메일을 다운로드하고 싶습니다. fetchmail을 다음과 같이 구성하려고 합니다.

mda "/bin/sh -c 'cat > INBOX/new/$(date +%s_%N)'"

그러나 예상된 "1428556930_751589889" 대신 "yuchao_326621000"이라는 파일이 생성되었습니다. 내 생각엔 fetchmail이 "%s"를 현재 사용자 이름으로 대체하기 때문인 것 같습니다.

그렇다면 "mda" 옵션에서 "%"를 인코딩하는 방법은 무엇입니까?

내가 시도한 것:

mda "/bin/sh -c 'cat > INBOX/new/$(date +%%s_%N)'"

mda "/bin/sh -c 'cat > INBOX/new/$(date +\%s_\%N)'"

위의 두 가지 방법 모두 유효하지 않습니다.

답변1

fetchmail의 소스 코드(sink.c, 1183행 부근)를 읽은 후 "%"를 인코딩하는 방법을 찾을 수 없습니다.

따라서 유일한 해결 방법은 "%s"를 사용하지 않는 것이며 bash의 작은 따옴표 구문을 사용하면 쉽습니다.

mda "/bin/sh -c 'cat > INBOX/new/$(date +%''s_%N)'"

관련 정보