SMTP
Many users have been asking us to add the possibility of sending mail to
FreePOPs.
In this page we'll try to show the reasons why such a functionality is not
currently present and why we are not planning to add it in future releases
as an integral part of FreePOPs.
This decision does not limit in any way your ability to send mail and this page is here to explain why and how to solve the issue.
Index
- Mail delivery (how SMTP works and the vast differences between it and POP3)
- FreePOPs (its origin and purposes)
- Sending mail (possible solutions)
1) Mail delivery
In this section we'll describe how SMTP works, to clarify what it's for and in what it differs from POP3.
What is SMTP? Is it a protocol used to send mail? NO. SMTP isn't a simple protocol like POP3, in which a client connects to a server to do one thing, and one thing only (in the case of POP3 that is receiving mail). SMTP is a complex protocol used by mail servers both for sending and for receiving mail. It may sound strange, but an SMTP server both receives and sends mail, and the cool thing about it is it sends the same way it receives, that is, using SMTP.
1.1) An analogy with snail mail
We might see POP3 as what we normally do when we walk to our mailbox, opening it and taking the mail that is inside.
We might see SMTP as the whole mail system. We see mailboxes on the streets, put a stamped, addressed letter inside and it will reach the recipient's mailbox. Behind all this there's a complex process of sorting and delivery.
The complexity involved is greatly different in the two cases, and the resemblance is weak.
1.2) A real example
Let's present a simple example, going deeper in the details of SMTP, to understand this better. If you're convinced from the previous examples you may skip the following example of Alice and Bob.
We have two characters in our example:
- Alice
- Has address alice@foo.com and is a customer of the provider foo.com, so she uses pop.foo.com as a POP3 server to download mail and smtp.foo.com as SMTP server to send it, both being services offered by her ISP foo.com.
- Bob
- Has address bob@baz.com and
is a customer of the provider baz.com, so he
uses pop.baz.com as a POP3 server to
download mail and smtp.baz.com as SMTP server to send it,
similarly to Alice.
Let's see what happens when Alice sends mail to Bob and gets a reply back.
Alice writes the email using as recipient
bob@baz.com and sends it using her provider's SMTP server
smtp.foo.com.
That server receives Alice's email and learns that it's addressed to a
baz.com user (a user that it doesn't manage), therefore it forwards it
to the SMTP server of baz.com, which is smtp.baz.com.
Said server (baz.com's) learns that the email is for a baz.com user (its own
domain) so it doesn't forward it to any other SMTP server but just saves it
to Bob's mailbox.
Bob receives Alice's mail using the POP3 server pop.baz.com
and writes Alice back through smtp.baz.com;
the latter forwards it to smtp.foo.com which in turn understands
that it's for one of its local users and saves it, allowing
Alice to read it using the POP3 server pop.foo.com.
1.3) Conclusions
This description is quite imprecise but we hope it will give you an idea of how SMTP and POP3 are very different protocols, both complexity-wise and (more importantly) purpose-wise. The only thing they have in common is they both deal with electronic mail, but they do different things.
2) FreePOPs
2.1) The origin of FreePOPs
FreePOPs was born as an evolution of the project LiberoPOPs (a similar program that was entirely written in C and supported only the webmail for libero.it) with the opportunity to add support for various webmails in a simple and quick way for whoever knows his/her way a little around programming.
Good programs come out of the creativity of a programmer who finds a problem and wants to solve it. The problem that FreePOPs solves is clear, it lets you be Free to read your own email with whatever software you like.
As soon as it was born we thought that the best way to think about the project and enhance its development was to consider it as a POP3 server, that's to say like the servers that let users receive their email, and let it be possible to specify what operations to execute for each POP3 command received, so that it would be adaptable to the widest number of webmails. The use of a simple interpreted language like LUA to describe such operations was the first step to invite users to contribute by providing plugins for the webmails they were interested in.
2.2) The UNIX philosophy
The authors of FreePOPs take the Unix philosophy, K.I.S.S.: "Keep It Simple, Stupid", very seriously.
That means keep your program simple and stupid. It represents a great way to write programs that are secure, efficent and powerful. For that reason it was decided to always keep within view the main purpose of the program and not follow objectives that had little or nothing to do with it. Unix is an operating system that has followed that philosophy for over thirty years and, believe it or not, it's working wonders.
2.3) Receiving mail
FreePOPs therefore, as we said above, lets you receive mail from several webmails.
Unfortunately this functionality has generated some confusion among its users, who have started to see it as a program to generally manage email on the web. This is not its purpose and that's why FreePOPs is and will stay limited to receiving messages.
3) So?! How do I send email?
The decision to not integrate an SMTP server in FreePOPs does not mean that with FreePOPs you will have problems or any kind of limitation in sending email.
There are two main possibilities for sending mail. The first is doing what has always been done, that is, use the SMTP that belongs to the Internet Service Provider you're using (like Alice and Bob do in this page). The second, is to install a small SMTP server in your own computer (like you've installed FreePOPs).
3.1) Using your provider's SMTP server
This is the easiest solution and the one we suggest. Our network provider (the guys who lets us connect to the Internet, via dial-up, DSL, cable or whatever), often also provides a mailbox, together with a POP3 and an SMTP server. If you don't know the mail settings your provider requires you may ask their technical support or find them in our SMTP collaborative page.
You might ask: "What if I have two mailboxes? One for example @libero.it and one @aliceposta.it and I use Alice as network provider (ie. I have an Alice ADSL subscription)?"
The second mailbox is what your ISP provides, the first is an old mailbox that you'd like to keep using. To receive you have no problems, that's what FreePOPs is for. To send with your @aliceposta.it address there are no problems either, Alice provides an SMTP server.
A question then: "What about the @libero.it address?"
You may use the same SMTP server you use for the @aliceposta.it address. If that doesn't appear to make sense, read on.
Let's clarify SMTP a little further.
The sender's address you type in an email has nothing to do with what SMTP
server you use to send it. You might think of the SMTP server as a mailbox
such as those you see on the streets. I may write as sender my @libero.it
even if I use the SMTP server from Alice. Therefore all you have to do is
setup your provider's SMTP address for all your email accounts.
Last doubts: "So what? If SMTP servers are like public mailboxes why can't I keep using the old SMTP server from Libero for my @libero.it address?"
The answer here is a little more complex. Let's pretend there are several snail mail companies. Let's say at least two, one uses red public mailboxes and the other uses blue mailboxes. Delivering mail has costs, that's why you have to buy stamps. But what happens if you buy a red stamp (that way paying the red company) then mail a letter in a blue mailbox? Easy, the red company earns the cost of the stamp, but delivery expenses are charged to the blue company. The same happens for SMTP servers on the Internet. If we consider the same two providers we talked about earlier, Alice offers a service to its customers, but not to those of Libero and viceversa. Maintaining an SMTP server is expensive.
This description is again rough and incomplete, but we hope it makes it easier to understand why using a connection provided by company A you can't use services provider by company B. It should also be noted that SMTP servers are closed to users of other providers mainly for issues of spam abuse, but this shouldn't interest the reader of this document much so we'll skip them here.
3.2) Installing a small SMTP server
We'd like to list some free programs for the most widespread operating
systems that can work as a mini-SMTP server, meaning that their job is only
to forward received messages to a real SMTP server. In the example at the
top of the page you might use localhost:25 as SMTP server and this
server (incapable of receiving mail, but able to sort it and forward it)
will be able to understand it must send mail to Bob, sending it to
smtp.baz.com without the need for middlemen.
Work in progress...