Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <form action="%%=RequestParameter('PAGEURL')=%%" id="subscribeForm"
- name="subscribeForm" method="post">
- <table cellpadding="0" cellspacing="0" border="0">
- <tr>
- <td height="60" width="250">
- <font face="Verdana" size="2">Email</font>*<br />
- <input type="text" id="EmailAddress" name="EmailAddress"></td>
- </tr>
- <tr>
- <td height="60" colspan="2">
- <input name="Submit" class="submit" type="submit" value="Submit">
- </td>
- <td></td>
- </tr>
- </table>
- </form>
- <script language="javascript" runat="server">
- Platform.Load("Core","1");
- try{
- </script>
- %%[ var @subscriberKey, @emailAddress, @url, @body,
- @httppost,@apiid,@apistatusCode,@apiresponse,@apitoken,
- @accessToken, @now, @callstatus, @response, @errorMsg
- set @emailAddress = ""
- set @httppost = ""
- if RequestParameter("Submit") == "Submit" then
- set @emailAddress = RequestParameter("EmailAddress")
- set @body = CONCAT('{"email": ', CONCAT('"', @emailAddress,
- '",'),'"validators": ', '["SyntaxValidator",', '"MXValidator",',
- '"ListDetectiveValidator"',']}')
- set @apitoken = Lookup('AccessToken','AccessToken','id',1)
- set @accessToken = CONCAT('BEARER ', @apitoken)
- set @url = "https://www.exacttargetapis.com/address/v1/validateEmail"
- set @httppost = HTTPPost2(@url, "application/json", @body, true,
- @callstatus, @response, 'Authorization', @accessToken)
- RaiseError(CONCAT('The error experienced was: ',@httppost),false)
- endif
- ]%%
- <script language="javascript" runat="server">
- } catch (ex) {
- Variable.SetValue("@errorMsg", Stringify(ex))
- </script>
- %%[
- if RequestParameter("Submit") == "Submit" then
- var @regEx1, @resultOfRegex1
- set @errorMsg = Substring(@errorMsg,2, Subtract(Length(@errorMsg),2))
- set @regEx1 = '(401).+(Unauthorized)'
- set @resultOfRegex1 = RegExMatch(@errorMsg, @regEx1, 0)
- if Length(@resultOfRegex1) > 0 THEN
- set @now = Now()
- /* part A - Refresh AccessToken */
- set @apiid = '{"clientId": "MYCLIENTIDGOESHERE",
- "clientSecret":"MYCLIENTSECRETGOESHERE"}'
- set @httppost =
- HTTPPost2("https://auth.exacttargetapis.com/v1/requestToken",
- "application/json", @apiid,false,@apistatusCode,@apiresponse)
- set @apitoken = Substring(@apistatusCode,17,24)
- set @accessToken = CONCAT('BEARER ', @apitoken)
- set @httppost = HTTPPost2(@url, "application/json",
- @body, true, @callstatus, @response, 'Authorization', @accessToken)
- UpsertData("AccessToken",1,"id","1","AccessToken",@apitoken)
- UpsertData("AccessToken",1,"id","1","Last Updated",@now)
- /* part B - Validate EmailAddress */
- set @body = CONCAT('{"email": ', CONCAT('"', @emailAddress,
- '",'),'"validators": ', '["SyntaxValidator",', '"MXValidator",',
- '"ListDetectiveValidator"',']}')
- set @apitoken = Lookup('AccessToken','AccessToken','id',1)
- set @accessToken = CONCAT('BEARER ', @apitoken)
- set @url = "https://www.exacttargetapis.com/address/v1/validateEmail"
- set @httppost = HTTPPost2(@url, "application/json",
- @body, true, @callstatus, @response, 'Authorization', @accessToken)
- endif
- endif
- ]%%
- <script language="javascript" runat="server">
- }
- </script></span>
- %%[ if RequestParameter("Submit") == "Submit" AND @httppost == 200 then ]%%
- EmailAddress: <span style="color:darkblue;">%%=v(@emailAddress)=%%</span><br>
- body: <span style="color:darkblue;">%%=v(@body)=%%</span><br>
- callstatus: <span style="color:darkblue;">%%=v(@callstatus)=%%</span><br>
- httppost: <span style="color:darkblue;">%%=v(@httppost)=%%</span><br><br>
- %%{={{ }}=}%%
- {{.datasource JSONVar type=variable}}
- {{.data}}
- { "target" : "@callstatus" }
- {{/data}}
- {{#if valid == "true"}}
- email: <span style="color:green">{{email}}</span><br>
- valid: <span style="color:green">{{valid}}</span><br>
- {{.else}}
- email: <span style="color:red">{{email}}</span><br>
- valid: <span style="color:red">{{valid}}</span><br>
- failedValidation: <span style="color:red">{{failedValidation}}</span>
- {{/if}}
- {{/datasource}}
- %%[ endif ]%%
Add Comment
Please, Sign In to add comment