<cfsilent>
<cfparam
name="FORM.from"
type="string"
default=""
/>
<cfparam
name="FORM.to"
type="string"
default=""
/>
<cfparam
name="FORM.provider"
type="string"
default=""
/>
<cfparam
name="FORM.subject"
type="string"
default=""
/>
<cfparam
name="FORM.message"
type="string"
default=""
/>
<cftry>
<cfparam
name="FORM.submitted"
type="numeric"
default="0"
/>
<cfcatch>
<cfset FORM.submitted = 0 />
</cfcatch>
</cftry>
<cfset arrErrors = ArrayNew( 1 ) />
<cfset objProviders = StructNew() />
<cfset objProviders[ "Verizon" ] = "vtext.com" />
<cfset objProviders[ "Sprint PCS" ] = "messaging.sprintpcs.com" />
<cfset objProviders[ "T-Mobile" ] = "tmomail.net" />
<cfset objProviders[ "Cingular" ] = "cingularME.com" />
<cfset objProviders[ "NexTel" ] = "messaging.nextel.com" />
<cfset objProviders[ "Virgin Mobile" ] = "vmobl.com " />
<cfif FORM.submitted>
<cfset FORM.to = FORM.to.ReplaceAll(
"[^\d]+",
""
) />
<cfif NOT Len( FORM.from )>
<cfset ArrayAppend(
arrErrors,
"Please enter your FROM number"
) />
</cfif>
<cfif NOT Len( FORM.to )>
<cfset ArrayAppend(
arrErrors,
"Please enter your TO number"
) />
</cfif>
<cfif NOT Len( FORM.message )>
<cfset ArrayAppend(
arrErrors,
"Please enter your text message"
) />
</cfif>
<cfif NOT ArrayLen( arrErrors )>
<cfif NOT StructKeyExists( objProviders, FORM.provider )>
<cfset FORM.provider = StructKeyList(
objProviders
) />
</cfif>
<cfloop
index="strProvider"
list="#FORM.provider#"
delimiters=",">
<cfmail
to="#FORM.to#@#objProviders[ strProvider ]#"
from="#FORM.from#"
subject="New Message"
type="text">
<cfmailpart
type="text/plain"
>#FORM.message#</cfmailpart>
</cfmail>
</cfloop>
<cflocation
url="#CGI.script_name#?#RandRange( 1, 100 )#"
addtoken="false"
/>
</cfif>
</cfif>
</cfsilent>
<!DOCTYPE html PUBLIC "- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>
Sending Text Messages (SMS) With ColdFusion
And CFMail
</title>
</head>
<body>
<cfoutput>
<cfif ArrayLen( arrErrors )>
<p>
Please review the following issues:
</p>
<ul>
<cfloop
index="intError"
from="1"
to="#ArrayLen( arrErrors )#"
step="1">
<li>
#arrErrors[ intError ]#
</li>
</cfloop>
</ul>
</cfif>
<form action="#CGI.script_name#" method="post">
<input type="hidden" name="submitted" value="1" />
<label for="from">
From:
<input
type="text"
name="from"
id="from"
value="#FORM.from#"
/>
</label>
<br />
<label for="to">
To:
<input
type="text"
name="to"
id="to"
value="#FORM.to#"
/>
</label>
<select name="provider">
<option value="">-- Not Sure --</option>
<cfloop
index="strName"
list="#StructKeyList( objProviders )#"
delimiters=",">
<option value="#strName#"
<cfif (FORM.provider EQ strName)>
selected="true"
</cfif>
>#strName#</option>
</cfloop>
</select>
<br />
<label for="message">
Message:
<input
type="text"
name="message"
id="message"
value="#FORM.message#"
maxlength="160"
/>
</label>
<br />
<input
type="submit"
value="Send SMS Text Message"
/>
</form>
</cfoutput>
</body>
</html>