태그 보관물: sendmail

sendmail

로컬로 메일을 배달하는 최소 MTA (cron)? 수행하는 크론을 설정했습니다.

랩톱에서 매주 작업을 수행하는 크론을 설정했습니다. 보고 할 것이 있으면 이메일을 받고 싶습니다. 지금은 MailMail 디렉토리에서 메일을 읽을 수있는 KUA를 MUA로 사용하고 ~/.local/share/local-mail있습니다. 따라서 로컬 메일을 Maildir 구조로 해당 폴더로 배달하고 싶습니다.

sendmail인터페이스 가있는 죽은 간단한 프로그램이 이미 존재하기를 희망했습니다 (예 : echo "$REPORT" | mail -s "$SUBJECT" "$ME"작동 가능). 원격 메일 서버로 exim을 설치하거나 메일을 전달하는 것은 과도한 것으로 간주됩니다.

질문 서버에서 모든 메일을 전달의 가장 간단한 방법? 내 요구에 맞지 않는 원격 전달을 대상으로하는 것 같습니다 (현지 배송 필요). 이 오래된 젠투 스레드 는 Perl에서 오래된 스크립트를 만들었습니다. 잘 생각되고 단순한 간단한 프로그램이 반드시 있어야합니까?

어떤 추천? 아치 리눅스를 사용하고 있습니다.



답변

기존의 작은 프로그램을 찾을 수 없어서 직접 작성하기로 결정했습니다. 원래, 나는 생각해 냈습니다 :

#!/bin/bash
# Simple sendmail
# filename per spec at http://cr.yp.to/proto/maildir.html
rand=$((RANDOM % 1000))
msgname=$(date +%s).P$$R$rand.$(hostname | tr '/:' '\057\072')

# Safety measure: do not overwrite existing mail
set -o noclobber

cat > ~peter/".local/share/local-mail/inbox/new/$msgname"

스크립트를 실행하는 사용자가 “peter”가 아닌 경우를 제외하고는 효과가있었습니다. 이 아이디어의 후속작은 “작은”C 프로그램 인 femtomail 입니다. 읽어보기에서 :

femtomail-Maildir을 지원하는 최소 MDA

femtomail은 로컬 메일을위한 최소 MDA (Mail Delivery Agent)입니다. 메일은 표준 입력에서 받아 들여지고 사용자의 Maildir 상자에 놓입니다. 이 소프트웨어는 단일 사용자 컴퓨터에서 사용하기위한 것입니다.

원격 배달, 데몬 화, 발신자 확인 등은 구현되지 않으며 복잡성으로 인해 구현되지 않습니다. femtomail은 메일 소프트웨어가 없기 때문에 작성되지 않았지만 기존 소프트웨어가 너무 커서 크론 메일을 로컬 사용자에게 전달 하기에는 너무 큽니다 .

펨토 메일의 워크 플로우 :

  1. 프로세스 사용자 및 그룹을 변경하십시오.
  2. 메일 디렉토리에 고유 한 파일 이름 으로 새 파일을 작성하십시오 .
  3. Received파일에 헤더를 작성 하십시오.
  4. 표준 입력에서 파일로 데이터를 전달하십시오.
  5. 출구.

소스 코드 및 설치 지침은 https://git.lekensteyn.nl/femtomail/ 에서 확인할 수 있습니다 .


답변