我在JSP中创建了一个注册表单,其中包含电子邮件地址的输入字段.当用户提交表单时,用户必须在他/她的电子邮件地址上获得自动回复.我怎样才能做到这一点?
Bal*_*usC 22
自动回复?对不起,这个术语在这个特定的上下文中毫无意义.自动回复更像是邮件服务器上的一个设置,它应该自动在收到的电子邮件上发送回复,例如"谢谢,您的电子邮件已收到,您的电子邮件将在24小时内得到答复".或者其他的东西.你这里不需要这个.
您只想以编程方式发送邮件.邮件应包含一个应该激活帐户的链接,以便用户可以登录.你经常在其他网站上看到这一点.以下是你如何做到这一点:
设置/准备SMTP服务器.SMTP服务器是邮件服务器.就像HTTP服务器是Web服务器一样.您可以使用ISP提供的现有服务或Gmail等公共服务.你甚至可以设置一个完全自己的.例如Apache James.无论您选择何种方式,您都应该知道SMTP服务器的主机名,端口号,用户名和密码.
创建一个Mailer至少可以使用"from","to","subject"和"message"参数的类,并使用JavaMail发送邮件.通过主机名,端口号,用户名和密码连接并登录SMTP服务器.创建邮件会话并根据给定的参数发送邮件.使用main()运行和测试Mailer类的方法创建一个虚拟测试类.一旦你开始工作,继续下一步.
user_activation使用PK key和FK 创建另一个数据库表,user_id引用您应该已经拥有id的user表的PK .在现有user表上,添加一个active默认为false/ 的布尔/位字段0.
当用户注册并在数据库中插入成功时,id从user表中获取插入,生成一个long且唯一key的java.util.UUID并将其插入user_activation表中.准备带有激活链接的邮件,其中唯一key包含在URL参数或路径中,然后使用Mailer您创建的类发送此消息.
创建一个Servlet映射到与激活密钥链接匹配的URL模式的映射,例如/activate/*,从URL中提取激活密钥.从数据库中选择关联的用户(如果存在),然后将其active字段设置为true/ 1并从user_activation表中删除密钥.
登录时,仅在active=true或时选择用户1.
| 归档时间: |
|
| 查看次数: |
8855 次 |
| 最近记录: |