* depend on ical >= 0.43
[citadel.git] / citadel / debian / README.Debian
blob0598c21f9c7e58b97fb95b9a0b99ef6f36be6459
2  * Citadel and your Systems Mail Transport Agent
4 The easy way to get citadel doing inbound Mail is 
5 to install the "citadel-mta" package. 
7 You however can use your default MTA to deliver mails
8 to citadel using a feature called LMTP (Local Mail
9 Transport) which is supported by Postfix, Exim and 
10 qpsmp.
12 Citadel will open its lmtp Unix Domain Socket in 
13 /var/run/citadel/lmtp.socket
14 This is where you need to point your other MTA at.
18  * Citadel and Exim
20 Exim is able to do this; however, the Author of this 
21 writing doesn't use it, and thus provides you just with 
22 this Link to the exim documentation:
24 http://exim.inode.at/exim-html-3.20/doc/html/spec_17.html
26 (If you know more, input is welcome)
30  * Citadel and Postfix
32 Postfix offers more than just LMTP. Postfix also enables 
33 you to use DICT-TCP in order to verify whether an email
34 will be deliverable rigt after the other mailserver told
35 yours whom it wants to send mail to.
36 Have a look at this sample main.cf for postfix:
38 # See /usr/share/postfix/main.cf.dist for a commented, more complete version 
39 smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU) 
40 biff = no 
42 # appending .domain is the MUA's job. 
43 append_dot_mydomain = no 
45 # Uncomment the next line to generate "delayed mail" warnings 
46 #delay_warning_time = 4h
47 myhostname = sample.citadel.org 
48 #alias_maps = hash:/etc/aliases 
49 #alias_database = hash:/etc/aliases
50 myorigin = /etc/mailname
51 mydestination = mail.sample.citadel.org, sample.citadel.org 
52 #relayhost = mynetworks = 127.0.0.0/8 
53 mailbox_size_limit = 0 
54 recipient_delimiter = + 
55 inet_interfaces = all 
56 # ------------------------------------------------ 
57 # checking rules. 
58 # get rid of anything useless as early as possible. 
59 # * stage one: check if the user is there. 
60 # * stage two: check the source. is its helo valid? else buye. 
61 # * stage three: check the sender etc. 
62 # * stage four: check the open relay Database. hosts registered here won't be accepted. 
63 # * stage five: check the content by regex. won't accept Windows executables of any kind. 
64 # * stage six: Do virus checking. reject some more extensions. 
65 # * stage seven: deliver it to citadel via local transport 
66 # make it bite harder if wanted. unknown_local_recipient_reject_code = 550 
67 #unknown_address_reject_code = 550 
68 #unknown_client_reject_code = 550 
69 #unknown_relay_recipient_reject_code = 550 
70 #unknown_virtual_alias_reject_code = 550 
71 #unknown_virtual_mailbox_reject_code = 550 
72 #unknown_address_reject_code = 550 
73 #unknown_client_reject_code = 550 
74 #unknown_hostname_reject_code = 550 
75 #unverified_recipient_reject_code = 550 
76 #unverified_sender_reject_code = 550 
77 #unverified_recipient_reject_code = 550 
79 # nope. don't wanna know. 
80 bounce_notice_recipient =  
81 # replace 127.0.0.1 with the ip of your citadel server, and 777 with the port you made it open its dict-tcp server
82 # in doubt check with netstat -lnp
83 # telnet ip port
84
85 smtpd_recipient_restrictions =
86         tcp:127.0.0.1:777,
87         reject_unauth_destination,
88         reject_unauth_pipelining,
89         reject_non_fqdn_sender,
90         reject_non_fqdn_hostname,
91         reject_invalid_hostname,
92         reject_unknown_recipient_domain,
93         reject_unknown_sender_domain,
94         reject_unknown_hostname,
95         reject_rbl_client list.dsbl.org,
96         reject_rbl_client sbl-xbl.spamhaus.org,
97         reject_rbl_client bl.spamcop.net,
98         reject_rbl_client dnsbl.njabl.org,
99         reject_rbl_client dnsbl.sorbs.net,
100         reject_rbl_client l2.spews.dnsbl.sorbs.net,
101         reject_rhsbl_client rhsbl.sorbs.net,
102         reject_rhsbl_client bogusmx.rfc-ignorant.org,
103         reject_rhsbl_sender rhsbl.sorbs.net,
104         reject_rhsbl_sender bogusmx.rfc-ignorant.org,
105         reject_rhsbl_sender dsn.rfc-ignorant.org
106         reject
107 #if we deliver to citadel via lmtp, do it for example like that:
108 local_transport = lmtp:unix:/var/run/citadel/lmtp.socket
109 # check the output of netstat -lnp for your lmtp.sock location.
112 More informations on this issue can be found at:
113 http://www.citadel.org/doku.php/faq:installation:configuring_postfix_to_validate_email_addresses_against_a_citadel_server
116  -- Wilfried Goesgens <w.goesgens@outgesourced.org>, Thu, 17 May 2007 19:10:39 +0200