File: tag_procmail.html

package info (click to toggle)
lg-issue29 1-1
  • links: PTS
  • area: main
  • in suites: slink
  • size: 1,992 kB
  • ctags: 387
  • sloc: java: 758; makefile: 31; sh: 3
file content (165 lines) | stat: -rw-r--r-- 7,046 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<!--startcut =======================================================  -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.1pre6">
<TITLE>The Answer Guy 29: Automated Handling for MAILER-DAEMON Messages</TITLE> 
</head>

<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#A000A0"
ALINK="#FF0000">
<!--endcut =========================================================  -->
<H4>"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <hr> <P>

<!-- ===============================================================  -->
<H1 align="center"><A NAME="answer">
<img src="../gx/dennis/qbubble.gif" alt="" border="0" align="middle">
<a href="./lg_toc29.html">The Answer Guy</a>
<img src="../gx/dennis/bbubble.gif" alt="" border="0" align="middle">
</A></H1> <BR>
<H4 align="center">By James T. Dennis,
<a href="mailto:answerguy@ssc.com">answerguy@ssc.com</a><BR>
Starshine Technical Services, 
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A> </H4>
<p><hr><p>
<H3><img src="../gx/dennis/qbub.gif" alt="(?)" width="50" height="28"
	align="left" border="0">Automated Handling for MAILER-DAEMON 
	Messages</H3>
	<h4 align="center">Read the Sources, Luke.</h4>  

<p><strong>From Adrian Lattke on 28 Apr 1998

<br><br>
Mr.Dennis:

<br><br>
I must conratulate you. I found your page on 
"<a href="../issue14/procmail.html">Procmail Mini-Tutorial:
Automated Mail Handling</a>" extremely useful. You
see, I was browsing the web in search for a program that will filter Mailer
Daemon bouncebacks. Would you happen to know, if there is any way, from a
<tt>perl</tt> script, to determine if an email address is valid? Or, how 
exactly should I configure <tt>procmail</tt> and its files to filter daemons 
into a directory? What I want to say is, do you know of any program with a 
set of rules for identifying a bounceback, and extracting the address that it
bounced from, appending it to a file?

<br><br>
Thank you very much for your help,
<br>Adrian Lattke

</strong></p>
<blockquote><img src="../gx/dennis/bbub.gif" width="50" height="28" alt="(!)"
align="left" border="0">
	There is 
	<a href="http://www.cbi.tamucc.edu/~duff/perl/pod/perlfaq8.html#How_do_I_check_a_valid_email_add">no way to determine</a> 
	if an address is "valid" in the
	sense that it really leads to someone's inbox, other than 
	sending them mail and getting a response.  Anything else is
	only a guess.  (Technically that's "verification" rather than
	"validation" -- but the terms are often interchanged and misused).

<br><br>
	In the more precise sense it is possible to validate a string
	as complying with 
	<a href="http://www.cis.ohio-state.edu/htbin/rfc/rfc822.html"
	>RFC&nbsp;822</a>.  That's the IETF document that defines
	the proper formatting and structure of Internet e-mail headers
	and addresses.  However this is not a trivial task.  (I think
	Tom Christiansen mentioned that it took him a hundred ugly lines of
<a href="http://www.perl.com/CPAN/authors/Tom_Christiansen/scripts/ckaddr.gz"
	>perl code</a> to do it).  You might look at 
	<a href="http://www.cpan.org/">CPAN</a> (the Comprehensive
	Perl Archive Network --- a set of co-operating mirror sites that
	forms the canonical repository of publicly available perl sources
	libraries and modules).  Look at 
	<a href="http://www.perl.org/">http:/www.perl.org/</a> for starters.
<br><br>
	As I said, procmail does handle many of these details for you
	--- which is why I use it.  I figure Stephen R. van den Berg
	(procmail's author) knows alot more about RFC822 parsing than I
	want to.

<br><br>
	Regarding your desire to automatically extract and record addresses
	that result in bounce messages (responses from MAILER-DAEMON):

<br><br>
	I'd suggest that you grab a copy of 
	<a href="ftp://ftp.informatik.rwth-aachen.de/pub/packages/procmail/"
	>SmartList</a> (the automated mailing list management package that's 
	built over procmail, and is by the same author).  That has the best 
	"bounce handling" features that are available among the 
	<a href="http://www.greatcircle.com/majordomo/">Majordomo</a>, 
	<a href="http://www.lsoft.com/listserv.stm">ListServ</a>,
	<a href="http://www.cren.net/listproc/index.html">ListProc</a> set 
	(from what I hear on the 
	<a href="http://www.greatcircle.com/lists/list-managers/"
	>list-managers</a> mailing list at 
	<a href="http://www.greatcircle.com/">GreatCircle.com</a>).  So,
	you could grab it and look through its procmail sources to find out
	how it handles the automated removal of "dead" addresses from its
	subscriber lists.  That's got to be pretty close to what you've 
	described. 
</blockquote>

<!--================================================================-->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/ssc.copying.html"
	>Copyright &copy;</a> 1998, James T. Dennis <BR>
Published in <I>Linux Gazette</I> Issue 29 June 1998</H5>
<P> <hr> 
<!--================================================================-->
<p align="center"><table width="95%"><tr align="center">
<td rowspan="4"><A HREF="lg_answer29.html"><IMG 
	SRC="../gx/dennis/answernew.gif" 
	ALT="[&nbsp;Answer&nbsp;Guy&nbsp;Index&nbsp;]"i
	align="left"></A></td>
</tr><tr align="center">

<!-- begins -->
<td><A HREF="tag_versions.html">versions</A></td>
<td><A HREF="tag_lilo.html">lilo</A></td>
<td><A HREF="tag_virtdom.html">virtdom</a></td>
<td><A HREF="tag_kernel.html">kernel</A></td>
<td><A HREF="tag_winmodem.html">winmodem</a></td>
<td><A HREF="tag_basicmail.html">basicmail</a></td>
<td><A HREF="tag_betterbak.html">betterbak</a></td>
</tr><tr align="center">

<td><A HREF="tag_shadow.html">shadow</a></td>
<td><A HREF="tag_dell.html">dell</a></td>
<td><A HREF="tag_dumbterm.html">dumbterm</a></td>
<td><A HREF="tag_whylinux.html">whylinux</a></td>
<td><A HREF="tag_redhat.html">redhat</a></td>
<td><A HREF="tag_netcard.html">netcard</a></td>
<td><A HREF="tag_macrovir.html">macrovir</a></td>
</tr><tr align="center">

<td><A HREF="tag_newlook.html">newlook</a></td>
<td><A HREF="tag_tacacs.html">tacacs</a></td>
<td><A HREF="tag_sendmail.html">sendmail</a></td>
<td><A HREF="tag_dialdppp.html">dialdppp</a></td>
<td><A HREF="tag_ppp233.html">ppp233</a></td>
<td><A HREF="tag_msmail.html">msmail</a></td>
<td><A HREF="tag_procmail.html">procmail</a></td>
<!-- ends -->
</tr></table>

</P> <hr> <P>
<!--================================================================-->
<A HREF="./lg_toc29.html"><IMG SRC="../gx/indexnew.gif" 
	ALT="[&nbsp;Table&nbsp;Of&nbsp;Contents&nbsp;]"></A> 
<A HREF="../index.html"><IMG SRC="../gx/homenew.gif" 
	ALT="[&nbsp;Front&nbsp;Page&nbsp;]"></A>
<A HREF="lg_bytes29.html"><IMG SRC="../gx/back2.gif" 
	ALT="[&nbsp;Previous&nbsp;Section&nbsp;]"></A>
<A HREF="./hamilton.html"><IMG SRC="../gx/fwd.gif" 
	ALT="[&nbsp;Next&nbsp;Section&nbsp;]"></A>
<!--startcut =======================================================  -->
</body>
</html>
<!--endcut =========================================================  -->