postfix의 메일수신 설정에 관하여 질문드립니다.

ygdizzy의 이미지

여러 실무자분들께 조언을 구하려고 글을 씁니다..
현재 회사에서 메일 서버 구축 중에 있습니다. 물론 전혀 리눅스 경험이 없는 상태에서 시작했고요.
이런 저런 검색 끝에 메일시스템의 개념과 MTA에 대해 알게 되었습니다.
MTA는 POSTFIX를 설치했으며, 현재 아웃룩을 이용한 메일 읽고 쓰기가 가능합니다.
기본적인 설정은 마쳤습니다.
myhostname, mydestination, mynetworks, home_mailbox, mailbox_command, inet_protocol,,,,,등의 옵션들 말이죠.

하지만,,서버의 목적상, 넣고 싶은 기능은,
1. 제가 운영하는 서버(도메인)으로 들어오는 모든 계정의 메일을 한 계정으로 몰아 넣고 싶습니다. 수신되는 메일이 모두 하나의 계정에 수신 혹은 재전송되어야 합니다.

2. 수신자가 서버에 존재하지 않더라도(/etc/passwd에 존재x), 반송되지 않고 그 하나의 계정에 수신(재전송)되어야 합니다.

sendmail에서는 virtusertable이라는 게 있는 것을 책에서 봤는데, postfix에서 위와 같은 설정을 하려면 어떤 옵션을 사용해야하는지 조언을 구합니다.
관련 검색을 해보았는데, 따라하면서도 이게 제대로 되는건지 영 감이 잡히지 않습니다.
참고할 만한 키워드라도 알려주시면 감사하겠습니다..

red10won의 이미지

pop3 imap등으로 한번 더 거치면 안되나요?

ygdizzy의 이미지

pop3나 imap으로 가져가기 이전에
메일 서버에서 한 계정으로만 수신받으려고요.

기존에 있는 계정은 재전송을 할 수도 있지만,
궁극적으로는 없는 계정의 메일까지 전부 수신하는 것입니다.

dgkim의 이미지

구글 검색해보니, 아래 내용이 눈에 띕니다.

http://serverfault.com/questions/23717/postfix-how-do-you-redirect-all-emails-to-one-user-eg-example-com-userex

luser_relay 옵션을 사용하라고 하는 군요.

아래는 메뉴얼 링크

http://www.postfix.org/postconf.5.html#luser_relay

--
http://www.dgkim.net/

ygdizzy의 이미지

정말 감사합니다..큰 도움이 되었네요.
없는 계정으로 오는 메일 수신 문제는 해결했습니다^^

ygdizzy의 이미지

다음과 같이 했습니다.
/etc/postfix/main.cf에 아래와 같은 옵션을 추가 했습니다.

virtual_alias_domains = test.com
virtual_alias_map = hash:/etc/postfix/virtual

그리고 /etc/postfix/virtual 을 vi로 새로 만들어,

user1@test.com accounttogo@test.com

user2@test.com accounttogo@test.com

user3@test.com accounttogo@test.com

이런 식으로 매핑을 해주었습니다.
저장한후 다시 명령어창으로 나와서...

sudo postmap /etc/postfix/virtual
(sudo권한으로 실행하지 않으면, 저의 경우엔
The command could not be located because 'usr/sbin' is not included in the PATH environment variable. This is most likely caused by the lack of administratie privileges associated with your user account.
postmap: command not found
와 같은 에러메시지가 뜹니다)
sudo /etc/init.d/postfix reload

위까지 설정을 하고 나서 서버에 존재하는 계정으로 메일을 송신하게 되면 수신할 메일 주소로 가지 않고, 위에서 설정해준 계정으로 메일이 가게 됩니다.
위와 같이 해결되었습니다.

저와 같은 왕초보들은 많이 없겠지만,,행여나 같은 문제를 생각하고 있으신 분들을 위해.....

한가지 의문점이 있다면, 수신계정에는 메일이 남아있지 않다는 겁니다. 수신계정에도 메일이 남아있고, 그 메일을 다른 계정으로도 포워딩하는 방법이 있을까요?

dgkim의 이미지

존재하는 계정이라면 몇 가지 방법이 있을 수 있는데,

사용하신 alias나 virtual alias를 좀 더 활용하는 방법이 있을 수 있고,

만약 cyrus imap 같은 백엔드를 사용한다라고 하면,
해당 백엔드의 filter 룰을 통해서 추가로 포워드하는 방법이 있을 수 있고,

가장 간단한 방법으로 sendmail 시절부터 사용하는 방법이 있는데,

해당 계정 홈디렉토리에 .forward 파일을 만들고, 수신하고자 하는 메일을 넣으면 그쪽으로 포워드합니다.

예를 들어 포워드만 할 때는 아래와 같이 파일을 생성하면 됩니다.

ps. 글쓰는 시점 현재, 아래 코드들에 이메일주소가 포함되면 kldp drupal에서 변조되어 출력되어, 이메일주소에 공백을 삽입하였습니다, 실제 사용시는 정상적인 이메일형태로 붙여서 사용합니다.

# ~user1/.forward 파일 내용입니다.
accounttogo @ test.com

원하시는 것과 같이 해당 계정에도 받고 싶다면, 아래와 같이 본 계정명과 포워드할 주소를 넣어주면 됩니다.

# ~user1/.forward 파일 내용입니다.
user1
accounttogo @ test.com

추가로, cyrus imap sieve에서 제공하는 filter rule 내용 예제도 알려드립니다.

# copymailto
if address :all :comparator "i;ascii-casemap" :contains "To" "user1 @ test.com"  {
    redirect "accounttogo @ test.com";
    keep;
}

sieve filter룰의 경우, 용도가 원래 filtering용도이기 때문에 복잡한 형태로 분류과정을 거칠 때 사용하는 것입니다.

http://en.wikipedia.org/wiki/Sieve_(mail_filtering_language)

--
http://www.dgkim.net/

익명 사용자의 이미지

virtual_alias_map을 virtual_alias_maps로 정정합니다. s를 빼먹었군요

황병희의 이미지

http://www.postfix.org/MULTI_INSTANCE_README.html

수신호스트(25)를 널클라이언트로 맹글고 받으려고 하는곳으로 쏴주시는 방법도 잇어요. 단 널클라이언트를 만들면 인스턴스를 하나 더 만들어야 하는 번거로움이 잇어요.

시간적 여유가 되시면 공부차원에서
dgkim님 제안의 luser_relay 도 해보시고 널클라이언트의 방식도 해보셔서 차이점 파악해보는것도 좋을거 같아요^^

또 말하지만 메일서버 구축은 재밋어요 ^_^

--
^고맙습니다 감사합니다_^))//

ygdizzy의 이미지

본업은 아니지만 해보니 흥미가 좀 생기기도 하네요
조언 감사합니다^^

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.