2011-04-04 75 views
1

因此,在我的应用程序中,我想提供学生折扣。Rails:检测有效的学生电子邮件地址

我使用Devise进行身份验证,并且需要确认电子邮件地址。我在想,我可以在确认电子邮件以.edu结尾后确认是否提供折扣。但是,我想知道这太简单了。有没有真正的.edu机构的列表或数据库,我可以检查?

我的方法是否有意义,或者你会以完全不同的方式解决这个问题?

想法?

回答

1

register a .edu domain您必须是eligible。这意味着在/\.edu$/的电子邮件地址中添加validator即可满足美国的教育折扣。这并不意味着你只接触学生人群 - 研究机构和教育工作者也将获得折扣。

还请记住,这只会涵盖美国的教育机构。澳大利亚采用.edu.au,英国使用.ac.uk

1

只需发送一封确认电子邮件至edu地址,就像其他人一样。并且他们在收到邮件时点击带有令牌的链接。如果它是正确的,你会知道的。

设计已经支持

+0

我知道Devise支持这一点,我在上面明确表示,这是我现在打算做的事情。我的问题是,这是否足够,或者是否存在*我没有想过的* gotcha *。 – Andrew 2011-04-04 05:25:35

0

你不需要一个列表来检查edu。如果是edu,那肯定不是垃圾邮件发送者。没有任何人可以获得edu域名:)除非骗子拥有一所学校,否则该学院颁发由美国教育体系认可的认证学位:P

+0

垃圾邮件发送者这些天,你永远不会知道,:) – Andrew 2011-04-04 05:27:11

+0

lool,他们会做的事情:D – Spyros 2011-04-04 06:05:42

1

我不能够使用同样的方法,只是因为我住的地方和工作,学校/大学有没有这样的域名约定埃杜。解决方案A:我将使用大学/学校的域名白名单。我最初将尽可能多的大学/学校领域添加到该列表中。 * .edu应该是其中的一个(以及所有其他国家教育领域)。

当用户注册时,我会问她/他是否是学生。如果她/他的电子邮件地址包含未知域名,我将不得不对其进行审查。 :-(

解决方案B:或者,我可能会使用复选框“我是学生”,如果选中了该选项,我会给予折扣,如果我发现折扣被滥用,我会寻求解决方案A or someting similar。

+0

好的建议斯蒂芬,我可能会将你所说的一些除了sj26建议的内容之外。谢谢! – Andrew 2011-04-04 14:13:43