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]