2008年1月16日 星期三

Service: Sendmail – grnericstable

前言

Sendmail提供重新編寫寄件者(The header of sander)的檔頭資料的功能,可以針對usernamedimainnameusername@domainname)個別進行資料重編,在建立Sendmail Sender Rewrite功能時先修改/etc/sendmail.mcSendmail開啟重新編寫郵件訊息中寄件者資料的功能,再建立寄件者資料對應資料庫(genericstable)與收件者對應資料庫(/etc/aliases)以讓收件者可以收發信件。


Key words: Sendmail, genericstable,


  1. 相關設定與調校

    1. 啟用寄件者資料重編功能:

修改/etc/sendmail.mc以啟用Sender write功能,在此一檔案中,以下的設定值必需是在MAILER( )之前;

FEATURE(`genericstable')dnl

FEATURE(always_add_domain)dnl

FEATURE(`generics_entire_domain')dnl

GENERICS_DOMAIN_FILE(`/etc/mail/local-host-names')dnl


# make –C /etc/mail

# service sendmail restart


    1. 建立寄件者資料對應資料庫(以myuser1為例):

[root@server1 mail]# cat > genericstable

myuser1 myuser1.alias@example.com

myuser2 myuser2.alias@example.com

[root@server1 mail]# makemap hash genericstable < genericstable


    1. 建立服務網域資料庫:

[root@server1 mail]# cat >> local-host-names

server1.example.com

example.com


    1. 建立收件者對應資料庫

[root@server1 mail]# cat >> /etc/aliases

myuser1.alias: myuser1

myuser2.alias: myuser2


[root@server1 mail]# newaliases

/etc/aliases: 80 aliases, longest 15 bytes, 848 bytes total


  1. 驗證

Local

[root@server1 mail]# su - myuser1

[myuser1@server1 ~]$ echo 'test alias' | mail -vs 'test' root@station5.example.com

root@station5.example.com... Connecting to [127.0.0.1] via relay...

220 server1.example.com ESMTP Sendmail 8.13.5/8.13.5; Thu, 17 Jan 2008 13:48:44 +0800

>>> EHLO server1.example.com

250-server1.example.com Hello localhost.localdomain [127.0.0.1], pleased to meet you

250-ENHANCEDSTATUSCODES

250-PIPELINING

250-8BITMIME

250-SIZE

250-DSN

250-ETRN

250-DELIVERBY

250 HELP

>>> MAIL From:<myuser1@server1.example.com> SIZE=56

250 2.1.0 <myuser1@server1.example.com>... Sender ok

>>> RCPT To:<root@station5.example.com>

>>> DATA

250 2.1.5 <root@station5.example.com>... Recipient ok

354 Enter mail, end with "." on a line by itself

>>> .

250 2.0.0 m0H5miI1025855 Message accepted for delivery

root@station5.example.com... Sent (m0H5miI1025855 Message accepted for delivery)

Closing connection to [127.0.0.1]

>>> QUIT

221 2.0.0 server1.example.com closing connection


Remote

[root@station5 root]# mutt

Date: Thu, 17 Jan 2008 13:48:44 +0800

From: myuser1.aliases@example.com

To: root@station5.example.com

Subject: test


test alias


回信驗證 /etc/aliases 的設定:

Date: Thu, 17 Jan 2008 14:20:50 +0800

From: root <root@station5.example.com>

To: myuser1.alias@example.com

Subject: Re: test

User-Agent: Mutt/1.2.5.1i

In-Reply-To: <200801170555.m0H5tevD025923@server1.example.com>; from

+myuser1.alias@example.com on Thu, Jan 17, 2008 at 01:55:40PM +0800


Alias is OK to go


On Thu, Jan 17, 2008 at 01:55:40PM +0800, myuser1.alias@example.com wrote:

> test alias

沒有留言: