Home Back E-mail


EMAIL2SMS - the possibilities of e-mail notification ("e-mail notificatie", "e-mail alerts", "E-Mail-Benachrichtigung")

This article reflects the situation in October 2003.

For those who want immediate notification of incoming e-mail messages by SMS (Short Messaging Service) on their mobile phones I have brought together here some - hopefully - useful information. Parts of this information are valid for The Netherlands only, others are not related to any country.

The principle of any such notification is that the sender, possibly also his real name, and the subject line of incoming messages are shown on the mobile, up to the SMS limit of 160 characters. To achieve this, a copy of the e-mail header must be sent to a gateway that produces the SMS.

In the future the so-called "Wap push" technique might be able to achieve the same effect on suitable phones.

To forward a header from your incoming e-mail account, in general the following two lines must be added to the file ".procmailrc" or the file ".forward" (both with the leading dot):
:0 ch
! youremailaddress@yourgatewaydomain.com
"ch" means "copy header". At least one of the mentioned files will most probably be present in the root directory of your web server. Otherwise the necessary file(s) has/have to be created by using an FTP program. Please be aware that some ISP's (Internet Service Providers) use slightly different forwarding methods. Check with your provider how he handles forwards.

As for the gateways in The Netherlands there are the following options:
  1. GIN (GSM Information Nederland) www.gin.nl: They provide a good service to (at least) the Dutch GSM providers KPN, O2 (soon to be renamed Telfort again) and Vodafone (formerly Libertel). I have no experiences with T-Mobile (formerly Ben) and Orange (formerly Dutchtone) but I presume that GIN will also work with them. Each SMS routed through gin.nl to your GSM provider is billed by the GSM provider. The rate varies with the provider but can run up to a staggering EUR 0,40!!! The advantage of this method is that you do not need any registration.

    The syntax to use is:
    :0 ch
    ! +31612345678@sms.gin.nl
    
    where +31 means "The Netherlands" and 06-12345678 would be your GSM phone number.

  2. KPN (www.kpn.nl) has its own service "easyM@il", free if you accept a very long delay between incoming mail and the message (every 4 hours), but paid (EUR 0,14) if you want immediate notification. Moreover, your ISP must be one of those: planet.nl, hetnet.nl compaqnet.nl or xs4all.nl. Entering the keyword "easymail" in the search option at www.kpn.nl will bring up all necessary information. I have no personal experience concerning the reliability and speed of this service.

  3. Telfort (formerly O2) www.telfort.nl had a free service called "SMS alerts" between October 2002 and januari 2003. It worked quite well in the end but was stopped, allegedly due to technical problems. In April 2003 they reopened the service, with a horrendous price tag of EUR 0.25 per SMS. At the moment (Oktober 2003) it seems to be unavailable.

    Here's the technical setup they had used then (I have not tried their new setup due to the staggering rate):

    In order to use the service you must become an O2 member via their website and forward the headers from your incoming main mail server to "yourmembername@o2.nl". To use their mail service as your main mail service is not very wise; the 3 MB box size limit is too much a constraint and there was (at least in 2002) no POP available, only webmail. Therefore you'll have to manually clean up regularly the inbox as there is no automatic clean-up.

  4. Vodafone Netherlands: Messaging is done via www.vizzavi.nl, a commercially rather nasty/aggressive service. But it's reliable, and the rate was approx. EUR 0,12 last time I used it (1999).

    For other countries and GSM providers I have found the following serious/useful options:

  5. www.bulksms.co.uk: They offer the service at a rate of approx. EUR 0,10). You need to buy SMS tokens in advance with your creditcard (secure payment). The syntax in .procmailrc is more complicated and goes like this (again with 06-12345678 as the example of a Dutch GSM number):
    # Email2SMS via BULKSMS
    # Credits go to Jim who developed this fine recipe.
    # You need to enter a sending e-mail address
    # and a password on their registration page.
    # The *subject line* must contain that password
    # (in the example below "abcde").
    # The original sender's email address and the original
    # subject line must be *moved to the body* and
    # will form the SMS you receive.
    # The original body must be deleted.
    # The response time is about 1 minute.
    # The rate is approx. USD 0.10 per SMS.
    # You need to buy tokens in advance.
    # You can set the number of tokens at
    # which you want to receive a "low on tokens" warning.
    # They cover many networks.
    
    #Make a copy of the incoming mail:
    :0c
    # Guard against loops
    # Do not use a top-level domain-address like john@doe.com
    # but your internal ISP address like johndoe@myisp.com instead
    * ! ^X-Loop: johndoe@myisp.com
    {
    
        # Put the original subject into a variable
        SUBJECT=`formail -zxSubject:`
    
        # Put the original sender in short form into a variable
        FROM=`formail -rzxTo:`
    
        # Produce a new fixed subject line
        # and a new sender's address
        :0fhw
        | formail -I "Subject: abcde" \
          -A "X-Loop: johndoe@myisp.com" \
          -I "From: johndoe@myisp.com"
    
        # Delete the original body
        :0fbi
        | cat > /dev/null
    
        # Create a new body from the 2 variables
        # ("echo" is not an option here)
        :0fbwi
        # The colon in the following line is essential
        | formail -f -A "$FROM: $SUBJECT"
    
        # Mail it to a mobile phone
        # The example shown here is a Dutch number,
        # originally looking like this: 31 6 12345678
        :0a
        ! 31612345678@bulksms.co.uk
    }
    
  6. www.daybyday.de: This Hamburg-based UMS (Unified Messaging Service) offering e-mail, fax, voicemail, SMS, calendar, group-agenda, webspace etc. runs - among other things - a very reliable and very fast EMAIL2SMS service to its professional users (EUR 7.50 / 39.00 / 59.00 per month / 6 months / 1 year for all services). 200 SMS-es per month are included in that rate; additional SMS packages can be bought, at a rate of approx. EUR 0,09. daybyday.de as a whole is very reliable and very pleasant to use. They offer a 100 MB mailbox (!) with webmail + POP, and 200 MB (!) webspace includnign WebDAV (desktop drive).

  7. www.smswhiz.com: Similar to bulksms.co.uk you register, buy tokens in advance and choose a password. The rate was EUR 0.027 until 19 October 2003 but now is has gone up to EUR 0,055 due to interconnection charges by Dutch and German providers. For Email2SMS into those countries you must have your gateway number at Smswhiz set to 11.

    You can than either use HTTP such as:
    http://www.smswhiz.com/http2sms/sendsmsmi.asp?number=316123456
    &message=This%20is%20a%20message&email=youremailaddress@yourdomain.com
    
    (all on one line of course)
    Mind you, this works without password.

    The %20 represents a space in your text in order to prevent the URL containing spaces. You'll need to write a little program that converts spaces into %20 and then generates and sends the URL.

    Another approach is by adding the following to your .procmailrc:
    # Email2SMS via SMSwhiz
    # Credits go to Jim who developed this fine recipe.
    # www.smswhiz.com is a very cheap bulk SMS provider.
    # They need the email address under which you are
    # registered there as the *sending address*.
    # The *subject line* must consist ONLY of: LOGIN=123 PASSWORD=abc
    # The original sender's email address and the original
    # subject line must be *moved to the body* and
    # will form the SMS you receive.
    # The original body must be deleted.
    # The response time is about 1 minute.
    # The rate is approx. USD 0.029 per SMS.
    # You need to buy tokens in advance.
    # You can set the number of tokens at
    # which you want to receive a "low on tokens" warning.
    # They cover many networks.
    
    #Make a copy of the incoming mail:
    :0c
    # Guard against loops
    # Do not use a top-level domain-address like john@doe.com
    # but your internal ISP address like johndoe@myisp.com instead
    * ! ^X-Loop: johndoe@myisp.com
    {
    
        # Put the original subject into a variable
        SUBJECT=`formail -zxSubject:`
    
        # Put the original sender in short form into a variable
        FROM=`formail -rzxTo:`
    
        # Produce a new fixed subject line
        # and a new sender's address
        :0fhw
        | formail -I "Subject: LOGIN=123 PASSWORD=abc" \
          -A "X-Loop: johndoe@myisp.com" \
          -I "From: johndoe@myisp.com"
    
        # Delete the original body
        :0fbi
        | cat > /dev/null
    
        # Create a new body from the 2 variables
        # ("echo" is not an option here)
        :0fbwi
        # The colon in the following line is essential
        | formail -f -A "$FROM: $SUBJECT"
    
        # Mail it to a mobile phone
        # Take care, the message needs to be
        # addressed to ...@smswhiz.net and not to ...@smswhiz.com
        # The example shown here is a Dutch number,
        # originally looking like this: 31 6 12345678
        :0a
        ! 31612345678@smswhiz.net
    }
    
    Possibly the following recipe (also written by Jim) works with *your* ISP - it does not so with my ISP.
    :0c
    * ! ^X-Loop: johndoe@myisp.com
    {
    
        SUBJECT=`formail -zxSubject:`
        FROM=`formail -rzxTo:`
    
        # Modify the header
        :0fhw
        | formail -I "Subject: LOGIN=12345 PASSWORD=abcde" \
          -A "X-Loop: johndoe@myisp.com" \
          -I "From: johndoe@myisp.com"
    
        # Create a new body
        :0fbwi
        | echo "$FROM $SUBJECT"
    
        :0a
        ! 31612345678@smswhiz.net
    }
    
    SMSwhiz.com also have an option so send SMS from your browser as a HTTP request, using the same tokens. I have written a nice, trilingual (Deutsch / Nederlands / English) freeware "Essemesser" to send SMS from your PC in a very comfortable manner.

    Another option is to create a seperate page on your own website from where you can use this HTTP requests yourself or allow others to do so. Of course each SMS sent in this way costs 1 token. below this paragraph you will find the code (99% of it comes from other, unknown authors). Where you see name+1234567890: you must fill in the signature you want to appear in front of your message, i.e. your name and your mobile number in international format. Otherwise the receiver of the SMS thinks he must answer to the SMSwhiz number he wil see on his display - which would not work. The number "136" must be changed (on 3 occasions) to be 160 minus the number of digits in your signature. This will limit the message to the standard SMS length (160 characters). "Mailer" is the field where you need to enter the e-mail address under which you are registered at smswhiz.com. "Nr." is the user number assigned to you by smswhiz.com. Keep these last two secret!
    
    <html>
    <head>
    <META NAME="ROBOTS" CONTENT="NOINDEX">
    <META NAME="ROBOTS" CONTENT="NOFOLLOW">
    </head>
    <body>
    <font face="arial,verdana,helvetica,univers">
    <script language=JavaScript>
    function textCounter(field, countfield, maxlimit) {
    if (field.value.length > maxlimit)
    field.value = field.value.substring(0, maxlimit);
    else;
    countfield.value = maxlimit - field.value.length;
    }
    var myHeight = 200;
    var isResizable = true;
    
    function createTarget(form) {
    _target = form.target;
    _colon = _target.indexOf(":");
    if(_colon != -1) {
    form.target = _target.substring(0,_colon);
    form.args = _target.substring(_colon+1);
    } else if(typeof(form.args)=="undefined") {
    form.args = "";
    }
    if(form.args.indexOf("{")!=-1) {
    _args = form.args.split("{");
    form.args = _args[0];
    for(var i = 1; i < _args.length;i++) {
    _args[i] = _args[i].split("}");
    form.args += eval(_args[i][0]) + _args[i][1];
       }
    }
    form.args = form.args.replace(/ /g,"");
    _win = window.open('',form.target,form.args);
    if(typeof(focus)=="function")
    _win.focus();
    return true;
    }
    function addSig() {
    sig="YourName+1234567890:";
    sms=document.smsWhiz.smsText.value;
    document.smsWhiz.Message.value=sig+sms;
    top.location.replace('http://www.yourdomain.com');
    }
    </script>
    <form target="smswhiz:width={window.screen.width/2},
    height={myHeight},
    scrollbars,
    {(isResizable)?'resizable':''},
    status" onsubmit="return createTarget(this);" method=POST
    name=smsWhiz action="http://www.smswhiz.com/http2sms/sendsmsmi.asp">
    <input value="http://www.yourdomain.com" type=hidden name=Sender>
    
    <table border="0">
    
    <tr>
    <td>Mailer</td>
    <td><input value="" size=20 type=password name=Email>
    </td>
    </tr>
    
    <tr>
    <td>Nr.</td>
    <td><input value="" size=5 type=password name=Password>
    </td>
    </tr>
    
    <tr>
    <td>To GSM</td>
    <td><input size=20 type=text name=Number>
    </td>
    </tr>
    
    <tr>
    <td>Characters left  </td>
    <td><input maxlength=3 value=136 size=3 readonly=readonly name=remLen>
    </td>
    </tr>
    
    <tr>
    <td valign="top">Message</td>
    <td><textarea cols=70 wrap=physical rows=2
    onkeyup="textCounter(this.form.smsText,this.form.remLen,136);"
    onkeydown="textCounter(this.form.smsText,this.form.remLen,136);"
    name=smsText></textarea>
    <input type=hidden name=Message></td>
    </tr>
    
    <tr>
    <td> </td>
    <td><input value="Send SMS" type=submit onclick="addSig()" name=B1></td>
    </tr>
    
    </table>
    
    </form>
    
    </body>
    </html>
    
  8. Some mobile phone providers offer modem numbers with a text/terminal interface and a very quick sending mechanism. Paying for the service is automatic - the modem numbers to be called have a higher price but are fortunately billed by the second. In The Netherlands you can use 06-54545000.

  9. You might consider using software on one of your own machines. That PC would need a permanent and very reliable, self-booting connection to the Internet. PhoneOffice phoneoffice.xi-tec.comis such software (EUR 23.00 in 2002). It checks your mail regularly and can send out SMS via SMSC's (Short Message Service Centers). This might be a very cheap way doing thing as long as you can find a cheap and reliable SMCS. Mind you, a PC with a power failure might not be able to boot back into a working state! And the energy cost involved running a dedicated machine might be a hefty price for that kind of use.


  10. The German SMS service www.massenversand.de works in more or less the same way as SMSwhiz although at slightly higher rates.
You are welcome to inform me of other reliable and fast services. I'll be happy to publish them here. They should be reasonably priced and cover practically every network. In my view anything above USD/EUR 0,06 per SMS is a rip-off.


Home Back to Christoph Bouthillier Top

© 1997...