mailgun.com
在邮件发送的时候,客户用手机下单经常把邮箱地址填错,进而造成发送邮件的邮箱地址是错误的,如果发送的错误邮件太多,mailgun会冻结账户
所以在发送前需要验证一下:
http://documentation.mailgun.com/api-email-validation.html#email-validation
在填写的时候验证一下。。代码如下:
1.
<div class=" input-box input-email'.((in_array('email', $this->formErrors['billing_errors'])) ? ' input-error' : '').'">
<label for="billing:email">'.$this->__('Email Address').' <span class="required">*</span></label><br />
<input type="text" name="billing[email]" id="billing:email" value="'.$this->htmlEscape($this->getAddress()->getEmail()).'" title="'.$this->__('Email Address') .'" class="validate-email required-entry input-text" />
<div class="customer_email_validation">
</div>
</div>
2.jquery代码
<script>
jQuery(document).ready(function(){
jQuery(".validate-email").blur(function(){
jQuery(".customer_email_validation").html('<img style="width:15px;height:15px;" src="<?php echo $this->getSkinUrl("images/loading1.gif"); ?>" />');
address = jQuery(this).val();
ajaxurl = "https://api.mailgun.net/v2/address/validate";
jQuery.ajax({
async:false,
timeout: 6000,
dataType: 'json',
type:'get',
data: {
'address':address,
'api_key':'pubkey-8685c83dfdfcde4909a0fdfa55b2d466b'
},
url:ajaxurl,
success:function(data, textStatus){
if(data.is_valid){
if(data.did_you_mean){
jQuery(".customer_email_validation").html('<span style="color:#ff851b">Did you mean '+data.did_you_mean+' ?</span>');
}else{
jQuery(".customer_email_validation").html('<span style="color:#2ecc40">Address is valid.</span>');
}
}else{
if(data.did_you_mean){
jQuery(".customer_email_validation").html('<span style="color:#ff851b">Did you mean '+data.did_you_mean+' ?</span>');
}else{
jQuery(".customer_email_validation").html('<span style="color:#cc0000">Address is invalid</span>');
}
}
},
error:function (XMLHttpRequest, textStatus, errorThrown){
}
});
});
});
</script>