📄 mail.java
字号:
package Mail;
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
public class mail extends HttpServlet
{
public void doGet(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, IOException
{
doPost(req,resp);
}
public void doPost(HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, IOException
{
resp.setContentType("text/html;charset=gb2312");
req.setCharacterEncoding("gb2312");
ServletContext context=this.getServletContext();
String userpwd1=context.getInitParameter("userpwd");
String username2=req.getParameter("username");
PrintWriter out=resp.getWriter();
try
{
//使用Properties props=System.getProperties();亦可
Properties props=new Properties();
//设置smtp协议,如不在此处设定,可以在mailSession.getTransport("smtp");中指出
props.put("mail.transport.protocol","smtp");
//设置smtp主机
props.put("mail.smtp.host","smtp.sohu.com");
//使用身份验证
props.put("mail.smtp.auth","true");
//指出smtp的使用的端口号,默认的端口就是25
props.put("mail.smtp.port","25");
//得到Session对象#琒ession是抽象类,要用工厂的方法得到其实例
Session mailSession=Session.getInstance(props);
Message msg=new MimeMessage(mailSession);
msg.setFrom(new InternetAddress("rock84320@sohu.com"));
msg.setRecipient(Message.RecipientType.TO,new InternetAddress(req.getParameter("usermail")));
msg.setSubject("密码找回");
msg.setText("您的帐号:"+username2+" 您的密码:"+userpwd1);
msg.setSentDate(new Date());
//得到Transport对象,要用工厂的方法得到
Transport trans=mailSession.getTransport();
//以smtp方式登录邮箱 ,不登陆对于不是本地的smtp服务器不能发送Mail
trans.connect("smtp.sohu.com","rock84320","abcdefgh");
trans.sendMessage(msg,msg.getAllRecipients());
out.println("<table align=center>");
out.println("<td>");
out.println("邮件已成功发送到 " + req.getParameter("usermail"));
out.println("</p><h1 align=center><a href='index.htm'>返回首页</a></h1>");
out.println("</td>");
out.println("</table>");
out.close();
}
catch(Exception e)
{
System.out.println(e);
out.println("<table align=center>");
out.println("<td>");
out.println("邮件发送失败!请返回!");
out.println("</p><h1 align=center><a href='index.htm'>返回首页</a></h1>");
out.println("</td>");
out.println("</table>");
}
}
public void init(ServletConfig cfg) throws ServletException
{
super.init(cfg);
}
public void destroy()
{
super.destroy();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -