Java 如何通过在jsp中发送邮件来进行电子邮件验证
我有注册表格。提交后,它会进入另一个JSP页面,在那里它会获取表格的数据并将其存储在我的数据库中。现在我想将电子邮件发送给他提供的用户id进行确认。我对此一无所知。请给我它的代码。 这是我的注册表操作和提交代码Java 如何通过在jsp中发送邮件来进行电子邮件验证,java,registration,Java,Registration,我有注册表格。提交后,它会进入另一个JSP页面,在那里它会获取表格的数据并将其存储在我的数据库中。现在我想将电子邮件发送给他提供的用户id进行确认。我对此一无所知。请给我它的代码。 这是我的注册表操作和提交代码 <form action="signupdata.jsp" method="POST"> <input type="submit" onclick="" value="submit"> 现在,我想像大多数网站提供的那样,向用户的电子邮件ID发送确认电子邮件。问题
<form action="signupdata.jsp" method="POST">
<input type="submit" onclick="" value="submit">
现在,我想像大多数网站提供的那样,向用户的电子邮件ID发送确认电子邮件。问题的确切代码取决于您的项目,可能太大而无法在此处发布。我建议您不要寻找代码片段,而应该询问适合您的问题域的通用解决方案/库,然后在谷歌上搜索基于此的代码示例 在这种情况下,您可以使用Java邮件API发送邮件。只需谷歌搜索Java邮件代码示例 如果您使用的是Spring框架,JavaMailSenderImpl提供了一种方便的方式来发送邮件
<bean id="mailSender" class="com.kshitiz.MailUtil"
init-method="init" destroy-method="destroy">
<constructor-arg index="0">
<bean id="mailSenderMain" class="org.springframework.mail.javamail.JavaMailSenderImpl"
p:host="${host}" p:port="${port}"
p:username="${username}" p:password="${password}">
<property name="javaMailProperties">
<props>
<prop key="mail.debug">true</prop>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>
</constructor-arg>
</bean>
为了进行验证,您可以将字段auth_令牌添加到用户帐户表中。此身份验证令牌是注册时生成的UUID。然后创建一个servlet,该servlet接受一个参数并根据数据库对其进行验证。在邮件中发送指向此servlet的链接。如果验证成功,请删除将用户标记为已验证的身份验证令牌字段。问题的确切代码取决于您的项目,可能太大而无法在此处发布。我建议您不要寻找代码片段,而应该询问适合您的问题域的通用解决方案/库,然后在谷歌上搜索基于此的代码示例 在这种情况下,您可以使用Java邮件API发送邮件。只需谷歌搜索Java邮件代码示例 如果您使用的是Spring框架,JavaMailSenderImpl提供了一种方便的方式来发送邮件
<bean id="mailSender" class="com.kshitiz.MailUtil"
init-method="init" destroy-method="destroy">
<constructor-arg index="0">
<bean id="mailSenderMain" class="org.springframework.mail.javamail.JavaMailSenderImpl"
p:host="${host}" p:port="${port}"
p:username="${username}" p:password="${password}">
<property name="javaMailProperties">
<props>
<prop key="mail.debug">true</prop>
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
</bean>
</constructor-arg>
</bean>
为了进行验证,您可以将字段auth_令牌添加到用户帐户表中。此身份验证令牌是注册时生成的UUID。然后创建一个servlet,该servlet接受一个参数并根据数据库对其进行验证。在邮件中发送指向此servlet的链接。如果验证成功,请删除将用户标记为已验证的身份验证令牌字段。在firtPage.jsp中编写以下代码
在firtPage.jsp中编写以下代码
thanx,我已经编辑了这个问题。请复习一下。thanx,我已经编辑了这个问题。请检查它。只需将虚拟凭据替换为实际凭据。如果您有任何异常,请告诉我。它会在这些行中给出错误。Session Session=Session.getDefaultInstanceproperties;mimessage message=新建mimessagesession;message.setFromnew InternetAddressfrom;message.addRecipientMessage.RecipientType.TO,新的InternetAddressto;错误为,找不到.getDefaultInstance的sybol,找不到MimeMessage的sybol,找不到InternetAddress的sybol,找不到RecipientType的sybol。并抛出MessegingException的expetion,即它从未在相应的try语句体中抛出。在您的程序中添加java mail jar文件。尝试在oracle站点查找我已将javamail1_4_4.zip添加到我的库中。并记下此导入,但它仍不起作用:只需将虚拟凭据替换为实际凭据即可。如果您有任何异常,请告诉我。它会在这些行中给出错误。Session Session=Session.getDefaultInstanceproperties;mimessage message=新建mimessagesession;message.setFromnew InternetAddressfrom;message.addRecipientMessage.RecipientType.TO,新的InternetAddressto;错误为,找不到.getDefaultInstance的sybol,找不到MimeMessage的sybol,找不到InternetAddress的sybol,找不到RecipientType的sybol。并抛出MessegingException的expetion,即它从未在相应的try语句体中抛出。在您的程序中添加java mail jar文件。尝试在oracle站点查找我已将javamail1_4_4.zip添加到我的库中。并记下此导入,但它仍不起作用:我没有使用spring框架我没有使用spring框架
public class MailUtil {
private MailSender mailSender;
public MailUtil(MailSender mailSender)
{
this.mailSender=mailSender;
}
public void sendResetPasswordMail(String email, String password) {
SimpleMailMessage message = new SimpleMailMessage();
message.setFrom("mymail@gmail.com");
message.setTo(email);
message.setSubject("Your new password!");
message.setText("Here is your new account login password - " + password);
mailSender.send(message);
}
}
<form action="signupdata.jsp" method="POST">
Please enter email : <input type="text" name="email">
<input type="submit" onclick="" value="submit">
</form>
// Recipient's email ID needs to be mentioned.
String to = request.getParameter("email");
// Sender's email ID needs to be mentioned
String from = "SENDER_EMAIL";
// Assuming you are sending email from localhost
String host = "YOUR_EMAIL_HOST";
// Get system properties
Properties properties = System.getProperties();
// Setup mail server
properties.setProperty("mail.smtp.host", host);
// Get the default Session object.
Session session = Session.getDefaultInstance(properties);
try{
// Create a default MimeMessage object.
MimeMessage message = new MimeMessage(session);
// Set From: header field of the header.
message.setFrom(new InternetAddress(from));
// Set To: header field of the header.
message.addRecipient(Message.RecipientType.TO,
new InternetAddress(to));
// Set Subject: header field
message.setSubject("SUVJECT_LINE");
// Now set the actual message
message.setText("YOUR MESSAGE GOES HERE");
// Send message
Transport.send(message);
System.out.println("Sent message successfully....");
}catch (MessagingException mex) {
mex.printStackTrace();
}
}