SMSCODES = {
    'Aliant':'@chat.wirefree.ca',
    'Alltel':'@message.alltel.com',
    'Ameritech':'@paging.acswireless.com',
    'AT&T':'@txt.att.net',
    'AU by KDDI':'@ezweb.ne.jp',
    'BeeLine GSM':'@sms.beemail.ru',
    'Bell Mobility Canada':'@txt.bellmobility.ca',
    'Bellsouth':'@bellsouth.cl',
    'BellSouth Mobility':'@blsdcs.net',
    'Blue Sky Frog':'@blueskyfrog.com',
    'Boost':'@myboostmobile.com',
    'Cellular South':'@csouth1.com',
    'CellularOne':'@mobile.celloneusa.com',
    'CellularOne West':'@mycellone.com',
    'Cincinnati Bell':'@gocbw.com',
    'Claro':'@clarotorpedo.com.br',
    'Comviq':'@sms.comviq.se',
    'Dutchtone/Orange-NL':'@sms.orange.nl',
    'Edge Wireless':'@sms.edgewireless.com',
    'EinsteinPCS / Airadigm Communications':'@einsteinsms.com',
    'EPlus':'@smsmail.eplus.de',
    'Fido Canada':'@fido.ca',
    'Golden Telecom':'@sms.goldentele.com',
    'Idea Cellular':'@ideacellular.net',
    'Kyivstar':'@sms.kyivstar.net',
    'LMT':'@sms.lmt.lv',
    'Manitoba Telecom Systems':'@text.mtsmobility.com',
    'Meteor':'@sms.mymeteor.ie',
    'Metro PCS':'@mymetropcs.com',
    'Metrocall Pager':'@page.metrocall.com',
    'MobileOne':'@m1.com.sg',
    'Mobilfone':'@page.mobilfone.com',
    'Mobility Bermuda':'@ml.bm',
    'Netcom':'@sms.netcom.no',
    'Nextel':'@messaging.nextel.com',
    'NPI Wireless':'@npiwireless.com',
    'O2':'@o2.co.uk',
    'O2 M-mail':'@mmail.co.uk',
    'Optus':'@optusmobile.com.au',
    'Orange':'@orange.net',
    'Oskar':'@mujoskar.cz',
    'Pagenet':'@pagenet.net',
    'PCS Rogers':'@pcs.rogers.com',
    'Personal Communication':'@pcom.ru',
    'Plus GSM Poland':'@text.plusgsm.pl',
    'Powertel':'@ptel.net',
    'Primtel':'@sms.primtel.ru',
    'PSC Wireless':'@sms.pscel.com',
    'Qualcomm':'@pager.qualcomm.com',
    'Qwest':'@qwestmp.com',
    'Safaricom':'@safaricomsms.com',
    'Satelindo GSM':'@satelindogsm.com',
    'SCS-900':'@scs-900.ru',
    'Simple Freedom':'@text.simplefreedom.net',
    'Skytel - Alphanumeric':'@skytel.com',
    'Smart Telecom':'@mysmart.mymobile.ph',
    'Southern Linc':'@page.southernlinc.com',
    'Sprint PCS':'@messaging.sprintpcs.com',
    'Sprint PCS - Short Mail':'@sprintpcs.com',
    'SunCom':'@tms.suncom.com',
    'SureWest Communications':'@mobile.surewest.com',
    'SwissCom Mobile':'@bluewin.ch',
    'T-Mobile Germany':'@T-D1-SMS.de',
    'T-Mobile Netherlands':'@gin.nl',
    'T-Mobile UK':'@t-mobile.uk.net',
    'T-Mobile USA (tmail)':'@tmail.com',
    'T-Mobile USA (tmomail)':'@tmomail.net',
    'Tele2 Latvia':'@sms.tele2.lv',
    'Telefonica Movistar':'@movistar.net',
    'Telenor':'@mobilpost.no',
    'Telia Denmark':'@gsm1800.telia.dk',
    'Telus Mobility':'@msg.telus.com',
    'The Phone House':'@sms.phonehouse.de',
    'TIM':'@timnet.com',
    'UMC':'@sms.umc.com.ua',
    'Unicel':'@utext.com',
    'US Cellular':'@email.uscc.net',
    'Verizon Wireless (vtext)':'@vtext.com',
    'Verizon Wireless (airtouchpaging)':'@airtouchpaging.com',
    'Verizon Wireless (myairmail)':'@myairmail.com',
    'Vessotel':'@pager.irkutsk.ru',
    'Virgin Mobile Canada':'@vmobile.ca',
    'Virgin Mobile USA':'@vmobl.com',
    'Vodafone Italy':'@sms.vodafone.it',
    'Vodafone Japan (n)':'@n.vodafone.ne.jp',
    'Vodafone Japan (d)':'@d.vodafone.ne.jp',
    'Vodafone Japan (r)':'@r.vodafone.ne.jp',
    'Vodafone Japan (k)':'@k.vodafone.ne.jp',
    'Vodafone Japan (t)':'@t.vodafone.ne.jp',
    'Vodafone Japan (q)':'@q.vodafone.ne.jp',
    'Vodafone Japan (s)':'@s.vodafone.ne.jp',
    'Vodafone Japan (h)':'@h.vodafone.ne.jp',
    'Vodafone Japan (c)':'@c.vodafone.ne.jp',
    'Vodafone Spain':'@vodafone.es',
    'Vodafone UK':'@vodafone.net',
    'Weblink Wireless':'@airmessage.net',
    'WellCom':'@sms.welcome2well.com',
    'WyndTell':'@wyndtell.com',
    }

def sms_email(number,provider):
    """
    >>> print sms_email('1 (312) 375-6536','T-Mobile USA (tmail)')
    print 13123756536@tmail.com
    """
    import re
    if number[0]=='+1': number=number[1:]
    elif number[0]=='+': number=number[3:]
    elif number[:2]=='00': number=number[3:]
    number=re.sub('[^\d]','',number)
    return number+SMSCODES[provider]

