Teromail summarizing webmail
Teromail is a free summarizing webmail with smart search. It is not actively being developed nor tested enough for production use, but is usefull as
- A prototype of a better user interface for webmail
- An example how to program with php-imap library.
© 2003-2005 Tero Karvinen
Why Teromail?
Benefits for different target groups are based on simplicty, new kind of user interface and search.
For Beginners
- Easy to use
- No user configuration needed
- Toolbar (new message, search, logout) and mailboxes always visible
- User interface is tested with actual non-geek humans during development
For Advanced Users
- Initial summary page is often enough for reading mail
- Summary shows the real content by skipping quotes and newlines
- Search works like web search engines
- Case insensitive “and” search
- Automatically searches both headers and body
- Usable in both graphical browsers (Mozilla, Phoenix) and text mode browsers (lynx, elinks).
- Mobile devices support
- xhtml basic is an html standard specially made for pda’s
- Only three page requests are needed to view latest messages (login, summary, logout)
- Light interface without visual clutter
- No graphics (in the interface, can of course display attached pics)
- Only new message -page uses tables
- Secure, always uses ssl (https) connection
- Tabs support: any link can be opened in a new window or tab.
For Administrators
- Easy installation
- Just copy teromail directory into a directory displayed on the web, such as ~/public_html/ or /var/www/html/
- Secure, teromail is just another client to imap server
Business people
- Free, runs on a completely free platform
For Developers
- Small codebase: only 700 lines of php code (to compare, a well known webmail Squirrelmail is more than 25 000 lines of php)
- Toobox principle - small separate tools. Teromail uses external programs and libraries when possible.
- imap server: basic mail handling, sending, searching
- php-imap (a standard part of php 4): connection to the imap server
- optional components
- spamassassin and procmail can filter spam
- Free software, GNU General Public Licence
Fig. Teromail works in textmode browsers too.
Download and Install
Old and obsolete versions are still available in download/. They date back to 2003, Teromail 0.3.38-alpha was released Mar 15 2003.
To install, simply download teromail to a directory displayed on web, such as /var/www/html or $HOME/public_html. Then uncompress the package tar -jxvf teromail*.tar.bz2. That’s it, now you can use it by pointing your web browser to http://localhost/teromail-version/
Installation on Ubuntu 6.06 LTS Dapper
To install a usable Teromail setup on Ubuntu:
$ sudo apt-get install apache2 php5 php5-imap dovecot $ sudoedit /etc/dovecot/dovecot.conf protocols = imap imaps $ sudo /etc/init.d/dovecot restart $ sudo /etc/init.d/apache2 restart
Enable user homedirs on apache. Then
$ mkdir -p $HOME/public_html $ cd $HOME/public_html
Get latest version of teromail (modify URL accordingly if newer version exists)
$ wget http://myy.helia.fi/~karte/teromail/download/teromail-0.3.55.tar.gz $ tar -xf teromail-*.tar.gz
Finally, point your browser to (substitute your own username for yourusername)
http://localhost/~yourusername/teromail/
Log in with your own username and password. If all went well, you are now viewing your mailbox in teromail. Enjoy!
Standars and technologies used in Teromail
PHP
HTML
Transfer
Message format
Mime
Troubleshooting
Undefined function: imap_open()
Problem: “Fatal error: Call to undefined function: imap_open() in /home/tero/public_html/teromail-0.3.53/teromail-0.3.52/login.php on line 48”. You don’t have necessary libraries installed.
Fix: Install php-imap matching your php version: $ sudo apt-get install php5-imap or $ sudo apt-get install php4-imap Restart web server to activate changes: $ sudo /etc/init.d/apache2 stop $ sudo /etc/init.d/apache2 start
Reload teromail in web browser, now it works.
Connection refused
Problem: “Warning: imap_open(): Couldn’t open stream {127.0.0.1:143/imap/notls} in /home/tero/public_html/teromail-0.3.53/teromail-0.3.52/login.php on line 48 Connection failed to 127.0.0.1,143: Connection refusedLogin failed. Try again”
You don’t have an imap mail server installed. The ip-address 127.0.0.1 is equal to loopback adapter address “localhost”. Port 143/tcp is the unencrypted imap server port, used in loopback connections for efficiency.
You can test from the command line if your imap server is listening for connections using the “one-port port scanner trick”:
$ telnet localhost 143 Trying 127.0.0.1... telnet: Unable to connect to remote host: Connection refused
“Connection refused” ⇒ imap server is not listening, install and configure imap server.
Fix: Install an imap server. Detailed discussion of imap server installation is out of scope of teromail troubleshooting section, but to give you an idea, here is one way to do it in Ubuntu Breezy 5.10.
$ sudo apt-get install dovecot-imapd $ sudo nano /etc/dovecot/dovecot.conf <code> By default, dovecot-imapd does not do anything and does not start. To make it start, change "protocols =" line to <code> protocols = imap
Then start the server
$ sudo /etc/init.d/dovecot start
Test that your imap server is listening:
$ telnet localhost 143 Trying 127.0.0.1... Connected to localhost.localdomain. Escape character is '^]'. * OK dovecot ready. "OK dovecot ready" => imap server is installed.
Reload teromail in your web browser and login. By default, you can use your linux login name and password. Now you can read your mailbox.
It is also possible to make teromail connect to an imap server that is on a remote computer.
Links
Other free webmail clients
Squirrelmail is php based webmail. It is easy to install, and has many plugins. However, user interface uses frames. Codebase is more than 25 000 lines (’cd /usr/share/squirrelmail’, ‘find src/ functions/ config/ -iname \*.php |xargs wc -l’ “27457 total”).
Imp is a popular php based webmail. It seems to be the choice of many universities. On the negative side, installation is a pain. Imp-latest seems to be 1.3 MB without horde.
As there are many great free webmails, why write another one? User interface is my main concern here. I feel that existing programs just use html to implement a user interface that was designed for text mode (like pine or mutt) or for locally executed gui program (like kMail or Evolution). There is no reason why a webmail could not outperform a standalone program.
Teromail elsewhere
© 2003-2005 Tero Karvinen