2016-09-16 57 views
1

我使用DotNetKit 1.2.6.5和SagePayIntegration.Validation()被拒絕使用新的。網上域的客戶電子郵件:與客戶的電子郵件被拒絕

(如[email protected]) CustomerEMail無效。

這是固定的1.2.6.7或爲SagePay.IntegrationKit.DotNet.dll提供源代碼的地方,所以我可以修復它?

回答

1

儘管可以訪問源代碼(非常感謝@DavidG),但SagePay支持已確認實際的網關不支持所有這些新域 - 所以即使我修改了DotNetKit,它仍然會被網關拒絕。

SagePay支持是非常有益的,但最終

」 ...電子郵件域[email protected]目前還不支持我們的網關。 我們連續運行發展衝刺,雖然也有一些 域我們可能還沒有支持,我們期待在未來的,依賴於 影響和需求......」

+1

哦,我的,這有點瘋狂。我想這意味着我不能使用我的公共電子郵件地址來訂購任何東西......我不明白他們爲什麼會限制域名。 – DavidG

0

的SagePay集成套件使用這個正則表達式驗證電子郵件地址:

[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 

這也不幸不允許超長的頂級域名。幸運的是,我擁有該套件的源代碼,並且已將其添加到我的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

+0

太棒了,我就來看看... –

+0

大,希望它爲你工作。我想知道是誰低估了這個,奇怪! – DavidG

+0

你好,我覺得這很奇怪。順便說一句:這個來源是否基於1.2.6.7? –

相關問題