导入 phpBB - 由于用户无效的电子邮件地址(尾随空格)而不完整

导入后,Discourse 中有许多用户处于“暂停”状态,因为他们的 phpBB 电子邮件地址末尾有一个空格。用户摘要页面显示此消息:

此用户已被暂停。
原因:导入时电子邮件无效

虽然 phpBB 阻止这种情况发生会更好,但现在已经太晚了。

一个潜在的简单解决方案是让导入程序在导入期间修剪电子邮件地址开头和结尾的空格。

如果导入代码与其他源平台通用,那么这种不良行为也可能普遍存在。

确实如此。在 import_scripts/phpbb3/importers/user_importer.rb 大约第 27 行添加 .strip,如下所示:

        email: row[:user_email].strip,

这并非不对,但由于这段代码已经存在了将近十年,而且至今尚未修复,所以也不能确定你就是对的。在 phpbb3 代码中告诉你如何修复它比在 base.rb 中(我同意那会更好)更容易。

一个快速检查,以确定您是否存在此潜在问题。在您的 phpbb 数据库中运行此 SQL 查询:

SELECT `user_email` FROM `phpbb_users` where CHAR_LENGTH(`user_email`) != CHAR_LENGTH(TRIM(`user_email`)) ORDER BY `user_id` ASC
2 个赞