2013-02-24 3 views
-1

은 내 메일 서버에 설치 SSH를 터널이 있습니다perl/a 쉘 스크립트에서 POP3 또는 SMTP 연결이 유효한지 쉽게 확인할 수 있습니까? 다음과 같이

ssh -o ServerAliveInterval=60 -f me\@mydomain.com -L 63110:mail.mydomain.com:110 -N 
ssh -o ServerAliveInterval=60 -f me\@mydomain.com -L 63325:mail.mydomain.com:25 -N 

내가/보내는 동안 메일을받을 수 있지만 일정 시간 동안, 제 메일 클라이언트 그것은을하지 않는 것을보고 있습니다 메일 서버에서 유효한 인사말.

나는 ssh 터널이 (ps를 통해) 실행되고 있으며 포트가 열려 있는지 (IO :: Socket :: PortState qw (check_ports) 사용) 확인하는 perl 스크립트를 가지고 있지만, 유효한 인사말을 받았는지 확인하고 싶습니다.

perl이나 쉘 스크립트 (Ubuntu 12.04 실행)에서이 작업을 수행하는 가장 좋은 방법은 무엇입니까?

+1

놀라움 ... ssh가 smtp를 말하지 않습니다. smtp 서버는 사용자가 무언가를 보낼 때까지 응답하지 않습니다. EHLO/HELO 인사말. –

+0

내 메일 클라이언트 (진화)가 잘 작동하는 SSH 터널을 통해 생각할 때마다 10 분마다 보내고 받도록 설정되었습니다 ... 잠시 동안 –

+0

[autossh] (http : // en. wikipedia.org/wiki/Autossh). 포트 포워드를 사용하여 SSH 세션을 자동으로 모니터하고 다시 시작합니다. – Hasturkun

답변

-1

OP에 대한 설정에도 불구하고 사용 도구는 swaks 일명 SMTP Army Knife입니다. 그것은 당신에게 SMTP 클라이언트와 서버 사이의 모든 대화를 표시합니다 swaks --server mail.example.com --from [email protected] --to [email protected]

정말 쉽게 만들기 : http://jetmore.org/john/code/swaks/

는 일반적으로 당신의 SMTP를 테스트하기 위해이 같은 명령을 사용합니다 : 당신은 여기에서 그것을 얻을 수 가능한 문제의 원인을 찾아냅니다.