annotate docs/simple-relay-setup @ 323:29de6a1c4538

Fixed an important bug with folded headers! g_strconcat() returns a *copy* of the string, but hdr->value still pointed to the old header (which probably was a memory leak, too). If the folded part had been quite small it was likely that the new string was at the same position as the old one, thus making everything go well. But if pretty long headers were folded several times it was likely that the new string was allocated somewhere else in memory, thus breaking things. In result mails to lots of recipients (folded header) were frequently only sent to the ones in the first line. Sorry for the inconvenience.
author meillo@marmaro.de
date Fri, 03 Jun 2011 09:47:27 +0200
parents e230bcd0f1c6
children 08932c629849
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
186
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
1 Simple Setup
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
2 ============
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
3
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
4 You want
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
5 --------
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
6
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
7 - submit mail on stdin by calling masqmail on the commandline
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
8 - submit mail with SMTP from the local machine
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
9 - let masqmail deliver mail locally to the system mailboxes /var/mail/*
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
10 - let masqmail forward non-local mail through a smart host
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
11
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
12 This is like the simple-local-setup plus the forwarding.
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
13
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
14
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
15 Set up
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
16 ------
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
17
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
18 Follow the description in INSTALL.
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
19
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
20 A common configure call would be:
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
21
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
22 ./configure --enable-auth --enable-ident
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
23
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
24
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
25 Configuration
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
26 -------------
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
27
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
28 You need a config file like this one:
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
29
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
30 host_name = "foo.example.org"
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
31 online_routes.default = /etc/masqmail/default.route
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
32
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
33 (Substitute a real hostname, of course.)
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
34
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
35 Addionally you need to create the route config file like:
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
36
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
37 # where to relay to; the address and port of the smart host
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
38 mail_host = "mail.gmx.net:25"
223
9814e75de61c updated docs to STARTTLS wrappers
meillo@marmaro.de
parents: 186
diff changeset
39 # use a wrapper to enable encryption
9814e75de61c updated docs to STARTTLS wrappers
meillo@marmaro.de
parents: 186
diff changeset
40 # for STARTTLS on port 25:
9814e75de61c updated docs to STARTTLS wrappers
meillo@marmaro.de
parents: 186
diff changeset
41 #instant_helo=true
9814e75de61c updated docs to STARTTLS wrappers
meillo@marmaro.de
parents: 186
diff changeset
42 #wrapper="/usr/bin/openssl s_client -quiet -starttls smtp -connect mail.gmx.net:25 2>/dev/null"
9814e75de61c updated docs to STARTTLS wrappers
meillo@marmaro.de
parents: 186
diff changeset
43 # for SMTP over SSL on port 465:
9814e75de61c updated docs to STARTTLS wrappers
meillo@marmaro.de
parents: 186
diff changeset
44 #wrapper = "/usr/bin/openssl s_client -quiet -connect mail.gmx.net:465 2>/dev/null"
186
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
45
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
46 do_correct_helo = true
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
47
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
48 # rewrite the From addresses to ones visible from the outside
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
49 map_return_path_addresses = "meillo: schnalke4@gmx.de"
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
50 map_h_from_addresses = "meillo: markus schnalke <schnalke4@gmx.de>"
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
51
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
52 # it's good to use "login" only if the connection is encrypted
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
53 auth_name = "login"
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
54 #auth_name = "cram-md5"
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
55 auth_login = "UID_OR_EMAIL_ADDRESS"
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
56 auth_secret = "PASSWORD"
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
57
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
58
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
59
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
60 Starting the daemon
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
61 -------------------
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
62
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
63 Listening for SMTP connections on a port requires masqmail to run as
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
64 daemon. You probably want to start masqmail as daemon each time the
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
65 system comes up. How you have to do that is system dependent.
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
66 /etc/rc.local is a good try to add the daemon call, because this file
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
67 seems to be frequently available.
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
68
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
69 /usr/local/sbin/masqmail -bd -q10m
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
70
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
71 This starts masqmail in daemon mode and does a queue run every ten
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
72 minutes.
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
73
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
74
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
75 Check the setup
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
76 ---------------
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
77
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
78 Like in simple-local-setup plus ...
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
79
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
80 Send a mail to a remote location:
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
81
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
82 $ echo "some text" | mail foo@somewhereelse.example.org
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
83
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
84 Check if it is queued:
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
85
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
86 $ masqmail -bp
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
87
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
88 Deliver it with:
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
89
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
90 $ masqmail -qo default
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
91
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
92 Check the queue contents again.
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
93
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
94 You need to do such queue runs for online routes explicitely. For
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
95 instance by cron.
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
96
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
97
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
98 Automatic queue runs
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
99 --------------------
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
100
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
101 You can also tell masqmail to send queued mails through a route each
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
102 time the daemon does a queue run. Therefor you need to tell masqmail
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
103 that it is online and can use the default route to deliver mail.
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
104
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
105 Add this to masqmail.conf:
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
106
310
f10a56dc7481 reworked online_detect to the simpler online_query
meillo@marmaro.de
parents: 223
diff changeset
107 online_query = "/bin/echo default"
186
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
108
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
109 Now masqmail will send online mail automatically through the default
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
110 route, each time it does a queue run (every ten minutes).
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
111
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
112
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
113 In case of problems
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
114 -------------------
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
115
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
116 Have a look at the log file: /var/log/masqmail/masqmail.log
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
117
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
118 Set the debug level in masqmail.conf, restart the daemon, redo the
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
119 test, and look at the debug file: /var/log/masqmail/debug.log
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
120
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
121 If you use a wrapper, test it manually and interactively on the
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
122 command line.
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
123
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
124 Ask on the mailing list: <masqmail@marmaro.de>
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
125
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
126
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
127
3dff59a4e764 added two setup guides
meillo@marmaro.de
parents:
diff changeset
128 meillo