3. 메일 압축

3.1. 이메일 들어옴 (POP3, IMAP4)

대부분의 사람은 그들의 이메일을 POP3를 통하여 메일서버로부터 가져온다. POP3는 많은 불편을 갖고 있는 프로토콜이다.

  1. POP3는 패스워드를 깨끗한 텍스트문자로 전송한다.(POP/IMAP 의 SSL-이행과 요구/ 응답 인증이 있다. RFC-2095/2195에 정의되어있다.)

  2. POP3의 많은 프로토콜 부하의 원인: 첫째로 클라이언트가 메세지를 요청하든지 서버가 메세지를 보낸다. 그후 클라이언트가 전송된 메일은 삭제해달라고 요청하고, 서버는 삭제를 확인한다. 그후 서버는 다음 처리를 준비한다. 그래서 각각의 이메일에 대해 4번의 처리가 필요하다.

  3. POP3는 이메일이 높은 압축이 가능해도 압축없이 전달한다.

당신은 포워딩 로컬호스트 포트 110 통하여 당신의 ISP의 POP3-소켓으로 연결을 압축하여 할수 있었다. 그후 당신은 당신의 메일 클라이언트에게 로컬호스트:110에 안전하고 속도 높인 연결로 메일을 다운로드 받으라고 말해야 한다 -- 그러나 다운로드 시간은 아직까지 POP3-원래 프로토콜 부하로부터 손해를 입는다.

그것은 보다 효과적인 프로토콜로 POP3의 대체하게 만든다. 그 생각은 완전한 메일 박스에 프로토콜 부하없이 다운로드이다. 게다가 압축 연결을 한다. 적당한 도구로 두 특징을 가지는 SCP 가 제공된다. 당신은 당신의 메일-파일을 이렇게 다운로드 할수 있다.

scp -C -l loginId:/var/spool/mail/loginid /tmp/newmail

그러나 문제가 있다: 만약 새로운 메일을 당신의 메일박스 다운로드 중에 도착한다면 무슨일이 있어날것인가? 새 메일은 잃어버린다. 그러므로 좀 더 나은 방법은 이렇게 해야한다.

ssh -l loginid mailserver -f mv /var/spool/mail/loginid /tmp/loginid_fetchme

scp -C -l loginid:/tmp/my_new_mail /tmp/loginid_fetchme

mv 는 기본 동작이다. 그래서 만약 당신이 새로운 메일을 받을때 명령이 실행되어 걱정을 하지 않아도 될것이다. 그러나 만약 메일서버 디렉토리가 /tmp/ 와 /var/sp ool/mail 이 같은 디스크가 아니라면 문제가 있을지도 몰른다. 해결책은 lockfile을 당신이 mv를 실행시키기전에 만드는 것이다:touch /var/spool/mail/loginid.lock. 그후에 옴기면 된다. 더 좋은 해결책은 loginid파일을 같은 디렉토리에 옮기는 것이다.

ssh -l loginid mailserver -f mv /var/spool/mail/loginid /var/spool/mail/loginid_fetchme

당신은 /tmp/newmail 안에 맞는 폴더로 필터 하는 procmail대신에 formail을 사용할수 있다.:formail -s procmail < /tmp/newmail

3.2. 밖으로 나가는 이메일 (SMTP)

당신은 이메일을 압축과 암호화하여 SSH 연결로 보낼수 있다,이렇게

당신이 메일서버에 SSH-접근권한을 가지고 있다면, 당신은 다음 명령이 필요하다.

ssh -C -l loginid mailserver -L2525:mailserver:25

당신이 메일서버에 SSH-접근권한을 가지고 있지 않다해도 당신의 메일서버는 중계를 허락할것이다. 다음 명령으로:

ssh -C -l loginid other_server -L2525:mailserver:25

그 후 당신이 메일 클라이언트(이거나 메일서버: "smarthost"를 보라)를 로컬호스트 2525 포트로 메일이 나가도록 설정 할수 있다.