Main Content

Why sendmail one way, and pop3 the other?

Archive - Originally posted on "The Horse's Mouth" - 2009-06-12 09:17:29 - Graham Ellis

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!