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

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

你的问题不是很清楚。 让我得到正确的要求; 您需要代码才能在成功注册时向用户发送电子邮件。 正确?

在您的servlet中(在提交操作时调用),

if(user input is valid){ Step1: registerUser(); Step2: send confirmationEmail(); } else { Step3: Exception case } 

理想情况下,发送电子邮件方法会将请求发送到JMS(队列)以将电子邮件发送给所需用户。 以下是发送电子邮件的摘要。

 //Sample java code to send email public void sendEmail(){ try{ Properties props = null; if (props == null) { props = System.getProperties(); } props.put("mail.smtp.host", ""); Session session = Session.getInstance(props, null); MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress("")); message.addRecipients(Message.RecipientType.CC, ""); message.setSubject(""); message.setContent("", "text/plain"); Transport.send(message); logger.info("Sent Email :" + "From :" + message.getFrom() + "To:" + message.getAllRecipients() + "Subject:" + message.getSubject() ); } catch(Exception ex){ ex.printStackTrace(); } } 

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

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

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

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

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

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

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

  6. 登录时,仅在active=true1时选择用户。

如何将用户的电子邮件地址添加到密件抄送字段(盲目复制副本)?