Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

Hi, my name is micheal and I am just starting out with perl and trying to create an internet mail server and just don't know were to start. Any help would be greatly appreciated. Thanks in advance.

Replies are listed 'Best First'.
Re: Just starting Out !
by dragonchild (Archbishop) on Aug 09, 2001 at 23:46 UTC
    *grins* First off - welcome aboard! You're starting the journey into a wonderful land.

    The first thing I'd do is read Learning Perl (if you're new to programming) and Programming Perl. Read them through. They will be the most invaluable aids you'll ever find. Both are available through O'Reilley Associates and can be found at any Barnes'n'Nobles or Borders, as well as through Amazon.com.

    The second thing is that you don't need Perl to write an internet mail server. maild works just fine, on Unix. On Win32, there are a number of free (and not-so-free) applications that do just that.

    Also, you can create mailing groups at Yahoo, which will accomplish much of the same thing, I think.

    If you're thinking about creating an ISP, I would NOT write your own, even if you were completely conversant in the language. People with more experience and more time and more knowledge have spent years pefecting these kinds of things. Leverage their knowledge! :)

    Oh - one more thing. If you expect to do a lot of Perl, I'd create an account here. After the books, this site is the most valuable Perl resource I've ever found, and I do this for a living. (Thanks, vroom!)

    Update: jeffa suggested that you also look at Network Programming in Perl (ISBN:020161571). I've never read it, but, if you really want to write an internet mail server in Perl, it probably will turn out to be invaluable.

    ------
    /me wants to be the brightest bulb in the chandelier!

    Vote paco for President!

Re (tilly) 1: Just starting Out !
by tilly (Archbishop) on Aug 09, 2001 at 23:54 UTC
    As noted, there are plenty of mail servers available, you want to use someone else's or install one, not rewrite the wheel. But if you are setting up your own, you might find that using Perl to filter your mail is a good way to learn more Perl. For details read up on using Mail::Audit. (I have not used it, but it looks handy.)
      Just as a note, QMail is a really speedy and robust server that has the advantage over sendmail, the "traditional" mail exchanger, of being more modular. This makes it easy to insert or replace parts of QMail with Perl.

      Since you can pick and choose what you want to replace, it is fairly easy to get going and add features. Admittedly, learning QMail is not super simple, but it is far easier than Sendmail or any of the contemporaries. A good book would certainly help get you on your way, and there is a mailing list which can come in very handy.
Re: Just starting Out !
by thatguy (Parson) on Aug 10, 2001 at 00:02 UTC
    I've been trying something similar. I am (trying to) pull mail from multiple pop accounts into mySQL and then have a a client access the DB.
    still early in the development stages, but here are some links I've found usefull that may help you with your project:
  • MIME::Tools
  • POP3Client
  • the Mail and Usenet section on cpan

    I think that a good project is just the thing to pick up perl. My first app is always being re-written because of the new things I learn.

    Do take heed at the warnings the other monks are mentioning. Look at how much trouble sendmail has. That can be overwhelming for a first project.

    Good luck tho!

    -p

Re: Just starting Out !
by Mr.T (Sexton) on Aug 09, 2001 at 23:47 UTC
    Hey there!

    Well, this seems like a very undirect question at best, but I'll give you some help from my little pool of knowledge, and I do mean little :).

    I would simply recommend reading the PerlDocs that you can also find here at perlmonks.org. Besides that, I would recommend reading books like the Perl Cookbook which I just checked out from the library :).

    Hope this helps, I'm sure there will be better replys than this one.

    Mr.T
    qw/"I pity da foo' who don't use Perl!"/;