Telnet 또는 netcat을 사용하여 첨부 파일과 함께 이메일 보내기

Telnet 또는 netcat을 사용하여 첨부 파일과 함께 이메일 보내기

저는 종종 telnet이나 netcat을 사용하여 smtp 서버에 연결하여 테스트로 이메일을 보냅니다.

Telnet이나 Netcat을 사용하여 이메일을 보내는 방법을 아는 사람이 있습니까?하지만 파일도 첨부해 주세요? 더 나은 방법이 있을 수 있지만 여전히 알고 싶습니다. :-)

목표를 달성하기 위해 작은 bash 쉘을 사용하는 솔루션에 만족하지만 다른 도구는 사용하고 싶지 않습니다...

답변1

좋아요, 그래서 모든 사람의 댓글을 출발점으로 삼아 이 어리석은 혼란을 생각해냈습니다 :-) ...

{ 
    sleep 5; 
    echo 'ehlo';
    sleep 3;
    echo 'MAIL FROM:<[email protected]>';
    sleep 3; 
    echo 'RCPT TO: <kyle@test_dest.com>';
    sleep 3;
    echo 'DATA';
    sleep 3;
    echo -e 'To:[email protected]\nMIME-Version: 1.0 (mime-construct 1.9)\nContent-Type: application/zip\nContent-Transfer-Encoding: base64\n\n';
    dd if=/dev/urandom bs=4 count=10 2>/dev/null | openssl base64;
    echo '.';
} | telnet mx1.testdest.com 25

답변2

으악. 첨부 파일을 base64로 인코딩하고 MIME 헤더를 생성해야 합니다.

매번 "즉시" 새 메시지를 생성하는 것보다 "실제" 이메일 프로그램에서 매우 짧은 예시 메시지를 자신에게 이메일로 보내는 것이 아마도 더 쉬울 것입니다. 적절한 인코딩으로 변환하고 MIME 헤더를 생성합니다).

해당 메시지를 헤더와 함께 텍스트 파일에 저장하고(물론 전송 헤더는 제거) 향후 세션을 위해 telnet 또는 netcat에 수정/복사/붙여넣기만 하면 됩니다.

답변3

SMTP 서버를 직접 테스트하는 것도 가능하고 실행 가능하지만 이를 위해 설계된 도구를 사용하는 것이 훨씬 쉽습니다.

이 기사에서는 SWAKS에 대해 설명합니다.. swaks는 smtp 서버 테스트용으로 설계되었습니다. 첨부 파일, 인증 및 암호화를 지원합니다!

답변4

Telnet - 여러 첨부 파일이 포함된 이메일 보내기

고양이 첨부파일.zip | base64 > zip.txt
고양이 첨부파일.pdf | base64 > pdf.txt

# 콘텐츠 유형: text/csv; name="$FILE" # CSV 파일의 경우
# 콘텐츠 유형: application/x-msdownload; name="$FILE" # 실행 파일용
# 콘텐츠 유형: text/xml; name="$FILE" # xml 파일의 경우 또는 application/xml을 사용해 보세요.

텔넷 smtp.server.dom 25

헬리콥터
메일 보낸 사람:[이메일 보호됨]
RCPT 대상:[이메일 보호됨]
데이터
제목: 테스트 이메일
에서:[이메일 보호됨]
에게:[이메일 보호됨]
MIME 버전: 1.0
콘텐츠 유형: 다중 부분/혼합; 경계="X-=-=-=-텍스트 경계"

--X-=-=-=-텍스트 경계
콘텐츠 유형: 텍스트/일반

여기에 메시지를 넣으세요...

--X-=-=-=-텍스트 경계
콘텐츠 유형: 애플리케이션/zip; 이름="파일.zip"
콘텐츠 전송 인코딩: base64
내용-처분: 첨부; 파일명="파일.zip"

UEsDBBQAAAAIAG1+zEoQa.... zip.txt 복사/붙여넣기

--X-=-=-=-텍스트 경계
콘텐츠 유형: 텍스트/pdf; 이름="파일.pdf"
콘텐츠 전송 인코딩: base64
내용-처분: 첨부; 파일명="file.pdf"

UEsDBBQAAAAIAG1+zEoQa....pdf.txt 복사/붙여넣기

--X-=-=-=-텍스트 경계
.

그만두다

관련 정보