NOTE: I'm not a developer, but I read Wikipedia, so I have some knowledge of... the stuff I'm talking about here. ;-)
I was reading an article in a local newspaper about laptop theft, and it mentioned some commercial software which helped track thieves by reporting to a server every time it logged on to the mighty Internet, which would presumably leave the server with an IP address to be WHOIS'd at will.
Since I'm interested in the public good, I considered possibilities for a Free Software application of a similar nature. My plan is this:
A daemon to be invoked around boot-time or login-time which would send an e-mail to a specified e-mail address (through POP3) every time its host computer obtained a new IP address, since an entirely new IP address could quite possibly mean the host computer has changed location. It would have to include a utility for configuration, such as the target e-mail address, so the number of times it would be allowed to send a e-mail a day could be configured along with that.
Because this is to be a free project, it would raise privacy concerns (in my opinion) if a team of developers or this free project were reviewing reports of stolen laptops and their respective IPs, so I chose private e-mails.
However, if this application is to be cross-platform (due to the relatively small number of GNU/Linux-running laptops compared to other OSes), reliance on one e-mail sending method probably wouldn't work out as efficiently as, say, the SQLite approach (bundling the utility with every copy of the application).
Thus, I also propose building a library for the purpose of sending mail, using the SQLite architecture:
A library to control the database file (in this case a text file with the inbox, outbox, etc...)
The database file
Other applications call on the library, and the library executes the commands (SQL calls) through a link to the database file
So we could take the SQLite codebase (or use it as a reference) to build a control library with some of the following procedures:
Adding the ability to communicate with POP3 servers
Replacing the SQL commands with something like:
sendmail(email@example.com, password; firstname.lastname@example.org; title; body <br/> of the e-mail <br/> message )
We could also modify the database file to reflect its e-mailbox status, so a typical file for one person could look like this:
Hi, I'm just testing this e-mail service my friend told me about!
> I got your mail just fine.
I'm happy to see this service works OK!
> Hi, I'm just testing this e-mail service my friend told me about!
I got your mail just fine.
For more than one mail profile, there could be multiple inboxes and outboxes as needed. The password would be stored by the client (or typed in each time mail is sent or recieved, if needed), so I didn't include that in the file.
What do you think of this plan?