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
|
PopDrop v1.9
------------
1- What is PopDrop ?
PopDrop is a fetchmail like remplacement for hudge mail forwarding systems.
In fact the aim of this project is to store the popuser/poplogin/pop3server/emailto forward
into a SQL database for example hudge pop3 forwarding system.
2- Why doing a new project ?
I love Pike and C programming is boring :)
No in fact this is a quick and fast program to help us with our webmail project.
Doing this in pike was natural since the IMHO/CAMAS webmail we use is also
done in Pike.
3- How to install it ?
3.1- Requirements
o Pike 7.0.235 or newer. You can find this using http://community.roxen.com/
anonymous CVS server or downloading tarballs at
http://www2.oav.net/pike-dist/
o A SQL database supported by pike eg MySQL, mSQL, PostGres, Oracle, Sybase,
odbc database.
o A list of pop3 users and password to forward to.
o A rock stable SMTP server : the popdrop does (when pthreads is supported
by pike) a single thread by smtp client, so expect a lots of smtp connections
when downloadings mails.
o (optionnaly) a OS that supports pthreads (for more quick and fast email
downloading)
3.2- Installing...
When Pike is installed do the following test :
$ pike
Pike v7.0 release 243 running Hilfe v2.0 (Incremental Pike Frontend)
> Tools.Install->features();
Result: ({ /* 14 elements */
"dynamic_modules",
"threads",
"Crypto",
"GL",
"Gdbm",
"Gmp",
"Gz",
"Image.JPEG",
"Image.GIF",
"Image.TIFF",
"Image.TTF",
"Msql",
"Mysql",
"Odbc"
})
> quit
Exiting.
Verify that you have at least one of this SQL supports :
Mysql
Msql
Odbc
Oracle
Postgres
Sybase
If the Tools.Install->features(); command give you an error, then you need a
more recent version of pike.
Populate the database as shown in popdrop.mysql with your favorite data,
verify that you have a smtp server ready and modify the constants at the top
of popdrop.pike
#define THREADS 50 // Nb de threads
#define SMTPTHREADS 50 // Nb maxi of SMTPthreads
constant sqldatabase = "mysql://kiwi@localhost/popdrop";
constant sqltable = "popdrop";
constant smtpserver = "127.0.0.1";
constant postmaster = "postmaster@isdnet.net";
With your data.
Note that ALLTHREADS used on this programme are maximum THREADS + SMTPTHREADS.
Recommanded values of *THREADS :
- Linux
#define THREADS 50 // Nb de threads
#define SMTPTHREADS 50 // Nb maxi of SMTPthreads
- Solaris
#define THREADS 100 // Nb de threads
#define SMTPTHREADS 200 // Nb maxi of SMTPthreads
- others ?
Note that THREADS is the numbers of simultaneous POP3 client runned
that SMTPTHREADS is the min nb of simultaneous SMTP connections runned
(in fact this is at maximum THREADS + SMTPTHREADS if
number of database pop3 login/pass is < THREADS)
4- Command line
PopDrop, version 1.9 - (C)Copyright 2000 - Xavier Beaudouin & Emile Heitor.
Syntax:
popdrop [-v] [-s] [-V] [-h] [-S]
With:
-v : verbose
-s : single thread / no-thread mode
-V : version
-h : help
-S : single thread / no-thread SMTP client.
5- Have fun :)
|