aboutsummaryrefslogtreecommitdiffstats
path: root/README
blob: 44fb3890bdeb17647bcc6d53c8af2e8b842a4c59 (plain)
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
			 fetchmail README

fetchmail is a free, full-featured, robust, well-documented remote
mail retrieval and forwarding utility intended to be used over
on-demand TCP/IP links (such as SLIP or PPP connections).  It
retrieves mail from remote mail servers and forwards it to your local
(client) machine's delivery system, so it can then be be read by
normal mail user agents such as elm(1) or Mail(1).

fetchmail supports all standard mail-retrieval protocols in use on the
Internet: POP2, POP3 (including POP3 with RFC1938 one-time passwords),
RPOP, APOP, KPOP, Compuserve's POP3 with RPA, Microsoft's NTLM, Demon
Internet's SDPS, all flavors of IMAP (including IMAP4rev1 with RFC1731
Kerberos v4 or GSSAPI authentication or CRAM-MD5 authentication), and
ESMTP ETRN.  Fetchmail also supports end-to-end encryption with OpenSSL.

The fetchmail code was developed under Linux, but has also been
extensively tested under the BSD variants, AIX, HP-UX versions 9 and
10, SunOS, Solaris, NEXTSTEP, OSF 3.2, IRIX, and Rhapsody.

It should be readily portable to other Unix variants (it uses GNU
autoconf).  It has been ported to LynxOS and BeOS and will build there
without special action.  It has also been ported to QNX; to build
under QNX, see the header comments in the Makefile.  It is reported to
build and run under AmigaOS.

See the distribution files FEATURES for a full list of features, NEWS
for detailed information on recent changes, NOTES for design notes, and
TODO for a list of things that still need doing.

The fetchmail code appears to be stable and free of bugs affecting
normal operation (that is, retrieving from POP3 or IMAP in single-drop
mode and forwarding via SMTP to sendmail).  It will probably undergo
substantial change only if and when support for a new retrieval
protocol or authentication mode is added.

You can easily fetch the latest version of fetchmail via FTP from the
following FTP directory:

	ftp://ftp.ccil.org/pub/esr/fetchmail

Or you can get it from the fetchmail home page:

	http://www.tuxedo.org/~esr/fetchmail

Enjoy!

							-- esr
, $date, $jdate); %month_offsets = ( "Jan", 0, "Feb", 31, "Mar", 59, "Apr", 90, "May", 120, "Jun", 151, "Jul", 181, "Aug", 212, "Sep", 243, "Oct", 273, "Nov", 304, "Dec", 334, ); sub day_offset { my($datestring) = @_; my($wday, $month, $day, $time, $zone, $year) = split(' ', $datestring); my($jdate); # We don't deal with leap years here because the baseline day is after # the last leap year (1996) and there's a long time before the next # one (2004). $jdate = ($year - 1996) * 365; $jdate += $month_offsets{$month}; $jdate += ($day - 1); # Baseline day for the size data was Fri Oct 25 23:02:26 EDT 1996 $jdate -= 297; return($jdate); } open(NEWS, "NEWS"); $timestamp = `date`; chop $timestamp; $release = "unknown"; $lines = "unknown"; $date = "unknown"; $jdate = "unknown"; print <<EOF; # Population data from fetchmail NEWS file, as of $timestamp. # # Output other than pass-through % lines is tab-separated fields. # Field 1: release ID # Field 2: count of source lines under version control # Field 3: count of fetchmail-friends subscribers # Field 4: count of fetchmail-announce subscribers # Field 5: total subscribers to both lists # Field 6: date of release (days since first datum) # Field 7: date of release (RFC822 date format) # EOF while ($_ = <NEWS>) { my($sum); if (/^%/) { print $_; } elsif (/^fetchmail-([^ ]*) \(([^)]+)\)(, [0-9]* lines)?:/) { $release = $1; $date = $2; $jdate = &day_offset($date); if ($3) { $lines = substr($3, 2, length($3) - 8); } else { $lines = 'na' } } elsif (/There are ([0-9]*) people on fetchmail-friends and ([0-9]*) on fetchmail-announce/) { $sum = $1 + $2; print "${release}\t${lines}\t$1\t$2\t${sum}\t${jdate}\t${date}\n"; $release = "unknown"; $date = "unknown"; } elsif (/There are ([0-9]*) people on the fetchmail-friends list./) { print "$release\t${lines}\t$1\t0\t$1\t$jdate\t$date\n"; $release = "unknown"; $date = "unknown"; } } # end