When you send emails, you'll use a "sendmail" protocol / service, whereas when you receive them, you'll typically use a "pop3" or similar protocol / service. Why not use just one protocol for all the stages of email transmission?
Well in
sendmail protocol, the client program
pushes the email to a server - in other words the server is the receiver, but in
pop3 protocol, the client program
pulls email from the server. So if you were to use
sendmail for both, it would mean that you would have to run a
server on your local machine, awaiting connections from clients ... in other words, your ISP's system would have to keep looking for your machine every so often and passing emails to you if it found your server running. This might sound messy - and it is; but it's actually what Demon Internet used to do in the very early days, when we were using MS-DOS rather than windows. It worked excellently, but it was very odd to get online and then to have to wait up to 300 seconds each time an email check was wanted, rather than being able to easily trigger the check locally as you can do with a local client.
As part of this week's Perl course, I have been reviewing some more mature modules and I have just posted up two extra source code examples - using
sendmail and
pop3 - into our
emailing to and from Perl module which is part of our
Perl on the Web course. We also cover emailing from web pages on our
PHP Programming course.
And I always remind people when teaching these modules that they should use automated emails with great care - they're required to confirm registrations or orders, but can easily be abused to send spam. And remember that people who'll sign up for a newsletter will forget that they have done so if you don't update them regularly, and may unjustifiably accuse you of being a spammer! (written 2009-06-12 09:17:29)
Associated topics are indexed under
P410 - Perl - Automated Email Answering [2235] Sending awkward characters by email in Perl - (2009-06-12)
[872] Email metrics - (2006-09-20)
A199 - Web Application Deployment - Additional Linux Administration [1774] What is my real and my effective ID? [Linux] - (2008-08-27)
[1292] DHCP automatic IP address v Static IP - (2007-08-06)
[476] May I be politically incorrect? - (2005-10-25)
Some other Articles
Alumni - revisiting and supporting the old UniversityLoading external code into Perl from a nonstandard directoryTransforming data in Perl using lists of lists and hashes of hashesWhy sendmail one way, and pop3 the other?What is CGI.pm / A dozen new examplesRunning a piece of code is like drinking a pint of beerDo not re-invent the wheel - use a Perl moduleWhere do I start when writing a program?Learning PHP, Ruby, Lua and Python - upcoming courses