使用.online tld的客户电子邮件被拒绝

时间:2016-09-16 16:40:53

标签: sagepay

我正在使用DotNetKit 1.2.6.5而SagePayIntegration.Validation()拒绝使用新的.online域名的客户电子邮件(例如:foo@bar.online)

  

客户注意无效。

这是在1.2.6.7中修复的,还是SagePay.IntegrationKit.DotNet.dll的源代码,因此我可以修复它?

2 个答案:

答案 0 :(得分:1)

尽管访问了源代码(很多感谢@DavidG)SagePay支持已经确认实际的Gateway不支持所有这些新域 - 所以即使我修改了DotNetKit,它仍然会被网关拒绝。

SagePay的支持非常有帮助,但最终还是

  

“...我们的网关尚不支持电子邮件域名foo@bar.online。   我们不断进行开发冲刺,尽管有一些冲刺   我们可能尚未支持的域名,我们将来会依赖于这些域名   影响和需求......“

答案 1 :(得分:0)

SagePay Integration Kit使用此正则表达式验证电子邮件地址:

[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-zA-Z0-9](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+(?:[a-zA-Z]{2,4})\b

遗憾的是,不允许使用超长TLD。幸运的是我有工具包的源代码,我已将它添加到我的GitHub帐户(以及错误修复,这就是为什么我必须首先得到它,因为SagePay没有更新它)。你可以在这里找到它:

https://github.com/WiredUK/SagePay.IntegrationKit

您需要编辑的正则表达式是此文件:

https://github.com/WiredUK/SagePay.IntegrationKit/blob/801f61cf965c391a98a025aa632949719084cef0/ApiRegex.cs

有关信息,您需要编辑2,4表达式的最后一部分(与TLD中的2到4个字符匹配)以允许更多,例如2,30

修改:我可以,opened an issue and fixed it