3. 수준높은 논제들

3.1. Aliases

'alias'는 가짜 주소(이름)를 설정해 다른(하나의)주소에 메일을 간단히 전송하는 방법이다. 이것은 MUA aliases 와 MTA aliases의 2가지 종류가 있다.

MUA alias는 본인이 직접 MUA를 설정하는 것으로, 일종의 개인적 약어법이다. 다른 사람은 이 alias를 보거나 사용할 수가 없다. 예를 들어

alias esr	Eric S. Raymond	<esr@thyrsus.com>

이와 같은 내용을 mutt의 설정 파일에 써 두면, mutt는 어드레스행에 놓여진 `esr' 에 대해서, `esr@thyrsus.com'라고 친것 처럼 동작 한다. 또는 `mutt esr'라고 치면, 자동적으로 어드레스가 전개되어 `to' 행으로 들어간다.

MTA alias는 MTA를 전개 한다. 이것은 머신이나 원격지의 양쪽 어느 누구라도 사용할 수 있다. MTA alias를 만들때는, 시스템파일을 변경해야 한다. 보통은(반드시는 아니다) /etc/aliases나 /etc/mail/aliases이다. (장소는 MTA에 따라 달라진다) 자신의 시스템에 있는 aliases를 보는 것이 유익할 것이다; 여기에는 이미 `postmaster' 같은 표준적인 alias가 몇 개 쓰여져 있다.

당신의 MTA 에서, alias의 목표로 파일명을 지정 하는것이 가능하다면. 이것은 메일이 추가되는 메일박스로서 취급된다. (메일을 archive할 때에 유용하다). 목표로 프로그램을 지정할 수 있다면. 이 경우 alias로 보낸 메일은, 프로그램의 요구에 합당한, 표준 입력이 된다.

3.2. 포워딩

MTA alias의 설정에는 보통 관리자 권한이 필요하게 된다. 하지만 관리자의 개입없이 자신의 메일 forwarding 설정을 할 수 있도록 하는 편이, 메일 사용자에 있어서는 바람직하다.

이것을 지원하기 위해, 대부분의 MTA는 sendmail의 선례를 따라, 홈 디렉토리에 있는 .forward 라는 파일을 불러 낸다. 이 파일의 내용은 alias의 목표처럼 연기해, 당신의 메일을 이 주소에서 받게 된다. 이 기능의 가장 일반적인 용법은, 메일을 다른 머신에 있는 계정에 전송하는 것이다.

3.3. 자동 답신

.forward 의 다른 사용법은, 메일을 `vacation' 프로그램에 넘겨주는 것이다. vacation 프로그램은 받은 메일을 읽고, canned reply (역주: 부재중 전화의 녹음 테이프의 대답같은 것이다)를 자동적으로 생성 한다. canned reply 라는 이름으로 불리우는 것은, 이 대답의 내용이 대부분 「당사자가 휴가중으로, 언제 언제까지 부재중 이다」라는 것을 보낸 사람에게 전하는 것이기 때문이다.

대부분이 사용하고 있는 표준적인 vacation 프로그램, 이라고 하는 것은 없는 것 같다. 이것은 두개의 이유 때문이다. 하나는, 이러한 프로그램은 filter rule (뒤에 설명한다.)이나 쉘 스크립트로서 매우 간단하게 쓸 수 있다는 것. 두번째는, vacation 프로그램과 메일링 리스트와의 상호 작용 이 나쁜 것 이다.

자동 답신 설정을 하기 전에는, 읽고 있는 메일링리스트를 모두 일시적으로 unsubscribe하지 않는다고 할 수 없다. 다른 방법으로, 메일링 리스트의 구성원 모두가, 당신의 vacation 프로그램으로부터 canned message의 홍수를 받는 것이 된다. 이것은 매우 버릇없는 행동이며, 당신이 돌아 왔을 때, 매우 냉담한 취급을 받을 것이다.

3.4. 메일링 리스트

A mailing list is a pseudo-address that sends mail to more than one user.

메일링리스트란, 메일을 복수의 사람에 보내기 위한 pseudo-address이다.

제일 간단하게, 복수의 수취처를 기술한 MTA alias를 사용하면 메일링 리스트를 실현할 수 있다. 작은 메일링리스트는 이러한 모습으로 운영 되고있다. sendmail의 /etc/aliases 문법에서는, alias의 대상 옆에 메일링리스트의 내용을 기술한 파일을 지정할 수 있게 되어 있고, 지정은 아래와같이 한다.

admin-list:     ":include:/usr/home/admin/admin-list"

이 방법의 장점은, admin-list 파일을 권한이 없는 사용자 영역의 어딘가에 위치시켜 놓는 것이다. (root 권한은 위의 기술을 처음에 추가할 때 뿐이다.) 다른 MTA에도 같은 기능을 가지고 있는 것이 있다.

이 간단한 리스트는, 보통 `mail reflectors '라고 불리운다. (역주: reflector = 반사하는 것). Mail reflectors에는 두 개의 문제가 있다. 하나는, 전송에 실패했을 때의 되돌아오는 메세지가 사용자 전원에게 전송되어 버리는 것이다. 또 하나는 구독과 해지의 모든 것을 메일링리스트 관리자가 수동으로 해야한다.

mailing list manager라고 불리우는 소프트웨어는, 이런 문제와 연관된 것들을 해결하기 위해서 발전되어 왔다. 가장 중요한 기능은, 메일링리스트의 사용자에게 구독과 해지를 리스트의 관리자를 통하지 않고 할 수 있도록 하는 것이다.

메일링리스트 매니저는 사용자 리스트 정보를 스스로 보관 유지하고, MTA 에는 /etc/aliases의 프로그램 alias로 연결된다. 예를 들면, 위의 admin- list가, SmartList 라는 메일링리스트 매니저를 통과시켜 sendmail 시스템으로 전송이 된다면, /etc/alises의 조건 부분은 아래와 같다.

admin-list: "|/usr/home/smartlist/bin/flist admin-list"
admin-list-request: "|/usr/home/smartlist/bin/flist admin-list-request"

alias가 두개있는 것에 주의하자. 관례로서, 실제 메일링 리스트는 request address라는 사용자의 구독과 해지에 이용되는 어드레스를 가진다. 이러한 리스트에서, 구독과 해지를 메인의 어드레스에 보내면, 버릇없고 무식하게 보인다. 그러지 말자.

request address의 뒤에 있는 자동 장치는, 구독/해지 외에도 여러가지 기능을 가지고 있다. help 요청에 대응하거나, 리스트에 누가 있는지를 알려 주거나, 리스트의 archive에 자동으로 접근하는 기능도 있다. 또 리스트의 관리자를 도와, posting을 특정 멤버에게 제한하거나, 멤버가 아닌 사람이 처음 posting을 하면 그 사람을 자동적으로 등록하거나, 다양한 보안관련 옵션도 설정할 수 있다. 메일링리스트 매니저는 본래 설계와 이들의 부수적인 기능의 범위에 따라 차이가 있다.

유감스럽게도, 메일링리스트의 요구 자동 장치로의 송신 커멘드에, 표준적인 포맷은 없다. Subject 행에 커멘드를 넣는 것도 있지만, Subject 행은 무시하고 메세지 본문에 커멘드를 넣는 것도 있다. 처음 구독 했을 때로 돌아 온 메일은, 조심해 읽을 필요가 있다. 이러한 메일은 구독 메일박스에 보존해 두고, 나중에 참조할 수 있도록 해 두는 것이 좋다.

잘알려진 중요한 메일링리스트 매니저는, majordomo, listserv, listproc, smartlist 정도다. 이 중에서도 majordomo가 가장 인기있다. 최근의 mailman이라는 리스트 관리자는 매우 훌륭한 웹 기반의 가입/해제/관리 인터페이스를 가졌으며, 많은 인기를 얻으며, 쇠퇴해가는 옛 프로그램들의 왕자가 될 것 이다. 이러한 패키지에 관련된 정보를 web에서 구하기를 원하면, list 에서 찾아보자.

메일링리스트 매니저에 관한 자세한 정보는,List-Managers Mailing List에 있는 리소스를 조사해 보자. FAQ도 있다. (주의: 이 리스트는 HOWTO적인 질문을 하는데 적합하지않다.).

3.5. 메일 필터들

메일필터란 로컬 배달 에이전트와 사용자 사이에 위치하는 프로그램으로, 사용자가 메일을 보기 전에 자동적인 분배나 수신 거부 기능을 한다.

메일필터는 편리한 용도가 많다. 중요한 것으로는, spam 필터링을 하거나, 주제나 보낸이에 따라 메일을 복수 메일박스에 분배하거나, 자동 답신 메일을 보내는 등이 있다.

보통 메일필터를 설정하려면, 먼저 .forward 파일에 필터 프로그램에 대한 프로그램 alias를 두고, 계속해서 필터링 규칙을 파일에 기술 한다. 필터 규칙 파일의 포맷과 위치는, 필터 프로그램에 따라 다르다.

3대 메일필터 (procmail, mailagent, deliver)의 기능을 효과적으로 요약한 것이 Chris Lewis Email Software Survey 의 part 3에 있다. 이 중에서 가장 인기있는 것은 (규칙을 기술하는 문법은 중요하지 않으므로) procmail로, 대다수의 Linux 시스템에 존재하고 있다. (실제로, 시스템의 지역 배달 에이전트로 일반적으로 사용된다.)

3.6. 스팸의 대처

spam은 `UCE' (Unsoliciated Commercial Email: 마음대로 보내져 오는 상업적 Email) 혹은 `UBE' (Unsoliciated Bulk Email: 마음대로 보내져 오는 대량의 메일)등이라고도 불리운다. 이러한 이름에서 암시하듯 spam은 불쾌한 내용의 광고로 당신의 메일박스를 점유해 버린다. (`spam'라는 말은, Monty Python's Flying Circus (역주: 일찌기 BBC에서 방송되고 있던 버라이어티 프로그램)쇼로부터, 바이킹 교회 성가대의 노래에서 "Spam spam spam spam..."을 계속 반복하는 모습으로부터 유래되었다.)

spam의 대부분은, 피라미드 계획을 위한 권유, pornography 광고, (성가시게) spam 송신 프로그램의 판매등이다. 몇몇의 spam (MAKE MONEY FAST 와 Craig Shergold의 엽서 장난같은)은 너무 끈질겨서, 전설처럼 되어지고 있다. spam은 말이 많고 저질이다. 시간과 네트워크 대역폭의 거대한 낭비이다.

spam의 유행은 1997년 중순에 최고로 달해, 그 이후는 천천히 줄어들고 있는 것 같다. 그러나 여전히 심하게 불쾌할 수 있다. 만약 spam의 홍수에 시달리고 있다면, 교육 받길 바란다. Fight Spam on the Internet!의 페이지를 보기 바란다.Death To Spam! 의 페이지는, spam을 멈추거나 backtracking하는 방법을 소개하고 있어, 특히 효과적이다.