开发者

smtp text message code not sending

I have a python code to send a text message to your cellphone using SMTP. when I run it I don't get any errors, but it doesn't send the text message. My code isn't finished, right now I am just getting the basics down. Any help on making it send would be appreciated.

#infile = open('companyname.txt', 'r')

import sys
import smtplib





li_name = ["3 RIVER WIRELESS",
"ACS WIRELESS",
"ADVANTAGE COMMUNICATIONS",
"AIRTOUCH PAGERS",
"ALPHNOW",
"ALLTEL",
"ALLTELL PCS",
"AMERITECH PAGING",
"AMERITECH MESSAGING",
"AMERITECH CLEARPATH",
"ARCH PAGERS",
"AT&T",
"AT&T FREE2GO",
"AT&T PCS",
"AT&T POCKETNET PCS",
"BELL MOBILITY",
"BELL SOUTH BLACKBERRY",
"BELL SOUTH MOBILITY",
"BOOST",
"CELLULAR ONE EAST COAST",
"CELLULAR ONE SOUTH WEST",
"CELLULAR ONE PCS",
"CELLULAR ONE",
"CELLULAR ONE WEST",
"CELLULAR SOUTH",
"CENTENNIAL WIRELESS",
"CINGULAR",
"CINGULAR WIRELESS",
"COMCAST",
"HOUSTON CELLULAR",
"ILLINOIS VALLY CELLULAR",
"NEXTELL",
"SPRINT",
"SPRINT PCS",
"T-MOBILE",
"TRACFONE",
"VERIZON PAGERS",
"VERIZON",
"VIRGIN MOBILE",
"VIRGIN MOBILE CANADA"]
li_num = ["@sms.3rivers.net",
"@paging.acswireless.com",
"@advantagepaging.com",
"@alphapage.airtouch.com",
"@alphanow.net",
"@message.alltel.com",
"@message.alltel.com",
"@paging.acswireless.com",
"@page.americanmessaging.net",
"@clearpath.acswireless.com",
"@archwireless.net",
"@txt.att.net",
"@mmode.com",
"@mobile.att.net",
"@dpcs.mobile.att.net",
"@txt.bellmobility.ca",
"@bellsouthtips.com",
"@blsdcs.net",
"@myboostmobile.com",
"@phone.cellone.net",
"@swmsg.com",
"@paging.cellone-sf.com",
"@mobile.celloneusa.com",
"@mycellone.com",
"@csouth1.com",
"@cwemail.com",
"@mycingular.com",
"@mycingular.textmsg.com",
"@comcastpcs.textmsg.com",
"@text.houstoncellular.net",
"@ivctext.com",
"@messaging.nextel.com",
"@sprintpaging.com",
"@messaging.sprintpcs.com",
"@tmomail.net",
"@txt.att.net",
"@myairmail.com",
"@vtext.com",
"@vmobl.com",
"@vmobile.ca"]

again = 'y'
while again == 'y':

    company_domain = ''
    usr_company = str.upper(raw_input("Enter company: "))
    if usr_company in li_name:
        idx = li_name.index(usr_company)
        company_domain = li_num[idx]
        usr_number = raw_input("Enter phone number: ")
        text_adr = usr_number + company_domain
        sender = raw_input('enter "from" E-Mail address: ') 
        #if smtplib.SMTPSenderRefused(SMTPResponseException):
            #print ('your email has been rejected by the server')        
        reciever = text_adr
        message = ('Testing')
        smtpObj = smtplib.SMTP('smtp.comcast.net')         
        smtpObj.sendmail(sender,reciever , message)
        print "Succe开发者_C百科ssfully sent email"
        smtpObj.quit()



    else:
        text_adr = "Company Not Found"

    print ("your phone's email is:")
    print text_adr
    again = raw_input('Do you want to ask again?')
    while again != 'y' and again != 'n':
        print ('sorry that is an invalid answer!')
        again = raw_input('Do you want to ask again?')
    print



#old code:

#addr_from = raw_input ('enter your email address')
#addr_to = text_adr
#SMTP = 'smtp.comcast.net'
#msg = ('From: %s\r\nTo: %s\r\n\r\n'
#% (addr_from, ', '.join(addr_to)))
#msg = msg + 'This is the message'
#SMTP.sendmail(addr_from, addr_to, msg)


Start with the basics, enable debugging for the smtp object and see what you get.

smtpObj = smtplib.SMTP('smtp.comcast.net')         
smtpObj.set_debuglevel(10)
smtpObj.sendmail(sender,reciever , message)

You can read about the set_debuglevel call here.


Change

smtpObj.sendmail(sender,reciever , message)

to

smtpObj.sendmail(sender,[reciever] , message)

since the second argument to sendmail should be a list of email addresses.

PS: You might want to change reciever to receiver too... :)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜