如何在用户注册时对特定的电子邮件ID发送自动回复?

Smi*_*ith 4 java jsp servlets

我在JSP中创建了一个注册表单,其中包含电子邮件地址的输入字段.当用户提交表单时,用户必须在他/她的电子邮件地址上获得自动回复.我怎样才能做到这一点?

Bal*_*usC 22

自动回复?对不起,这个术语在这个特定的上下文中毫无意义.自动回复更像是邮件服务器上的一个设置,它应该自动在收到的电子邮件上发送回复,例如"谢谢,您的电子邮件已收到,您的电子邮件将在24小时内得到答复".或者其他的东西.你这里不需要这个.

您只想以编程方式发送邮件.邮件应包含一个应该激活帐户的链接,以便用户可以登录.你经常在其他网站上看到这一点.以下是你如何做到这一点:

  1. 设置/准备SMTP服务器.SMTP服务器是邮件服务器.就像HTTP服务器是Web服务器一样.您可以使用ISP提供的现有服务或Gmail等公共服务.你甚至可以设置一个完全自己的.例如Apache James.无论您选择何种方式,您都应该知道SMTP服务器的主机名,端口号,用户名和密码.

  2. 创建一个Mailer至少可以使用"from","to","subject"和"message"参数的类,并使用JavaMail发送邮件.通过主机名,端口号,用户名和密码连接并登录SMTP服务器.创建邮件会话并根据给定的参数发送邮件.使用main()运行和测试Mailer类的方法创建一个虚拟测试类.一旦你开始工作,继续下一步.

  3. user_activation使用PK key和FK 创建另一个数据库表,user_id引用您应该已经拥有iduser表的PK .在现有user表上,添加一个active默认为false/ 的布尔/位字段0.

  4. 当用户注册并在数据库中插入成功时,iduser表中获取插入,生成一个long且唯一keyjava.util.UUID并将其插入user_activation表中.准备带有激活链接的邮件,其中唯一key包含在URL参数或路径中,然后使用Mailer您创建的类发送此消息.

  5. 创建一个Servlet映射到与激活密钥链接匹配的URL模式的映射,例如/activate/*,从URL中提取激活密钥.从数据库中选择关联的用户(如果存在),然后将其active字段设置为true/ 1并从user_activation表中删除密钥.

  6. 登录时,仅在active=true或时选择用户1.

  • 嗨BalusC ..对于所有想要这种功能的人来说,这将是最好的算法. (2认同)