Mailocator snippet must be present
If you do not have installed Mailocator in your website, please read Mailocator installation notes at first.
Validate email address before subscription (optional)
If you want to validate email addresses, simply switch Addresscheck on.
- Go to Mailocator app
- Choose your campaign
- Open Features & Settings in top menu
- Select E-mail validation
- Switch Addresscheck on and follow further instructions
subscription process
subscription proces is based on simple JavaScript request and callback function.
To subscribe your form with Mailocator simply call following Mailocator Action:
mailocator.action.subscribe( user, callback )
- user is object with at least one property email storing email address to be subscribed.
You can also add more properties like custom and system fileds (user.opt_customFiledName)s.
- callback is a callback function called by Mailocator when subscription is done. It will receive only one argument - result object
The validation process can take from milliseconds to several seconds depending on mailserver response etc.
Result object description
| Propery | Description |
|---|---|
| status |
|
| subscribed email | |
| time | unix timestamp of last check |
| suggestion | contain correct email address suggestion, if email is invalid and Addresscheck is switched on |
Example
Basic form with email input and onclick event
<h1>Email static subscription</h1> <input type="text" name="email" value="" id="emladdr" size="50" /> <button onclick="subscribe()">subscribe</button>
Custom function
subscribe email input by passing in Mailocator action.
function subscribe(){
var user = {};
user.email = document.getElementById('emladdr').value;
mailocator.action.subscribe( user, callback );
}
Callback function
Evaluate subscription result
function callback( result ){
console.log( result );
var status = parseInt(result.status);
switch( status ){
case 1 : { /* subscribed successfuly */ break;}
case 0 : { /* contact already subscribed */ break;}
case -1 : { /* email syntax error */ break; }
case -99: { /* system error */ break; }
}
}