Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用jsp发送邮件_Java_Html_Jsp - Fatal编程技术网

Java 使用jsp发送邮件

Java 使用jsp发送邮件,java,html,jsp,Java,Html,Jsp,下面的代码以前工作过,但现在显示类似javax.mail.AuthenticationFalied的错误 请帮助我添加library mail.jar和activation.jar 我从mysql数据库收到注册用户的电子邮件 <%@page import="javax.mail.internet.InternetAddress"%> <%@page import="java.util.*" %> <%@page import="javax.mail.internet

下面的代码以前工作过,但现在显示类似javax.mail.AuthenticationFalied的错误

请帮助我添加library mail.jar和activation.jar

我从mysql数据库收到注册用户的电子邮件

<%@page import="javax.mail.internet.InternetAddress"%>
<%@page import="java.util.*" %>
<%@page import="javax.mail.internet.MimeMessage"%>
<%@page import="javax.mail.Session" %>
<%@page import="java.util.Properties"%>
<%@page import="javax.mail.Message"%>
<%@page import="javax.mail.MessagingException"%>
<%@page import="javax.mail.Transport"%>
<%@page import="javax.mail.PasswordAuthentication"%>

     <%@ page language="java" import ="java.sql.*" %>
     <%@ page import="java.io.*" %>
     <%@ page import="java.text.ParseException" %>
     <%@ page import="java.text.SimpleDateFormat" %>
     <%@ page import="java.util.Date" %>

        <%

        String email=request.getParameter("email");

        Connection con=null;
        Statement stmt=null;
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        con=DriverManager.getConnection("jdbc:mysql://localhost:3306/discussion","root","root");
        Statement st1=con.createStatement();
        ResultSet rs1=st1.executeQuery("select uname from userreg where email='"+email+"'");

        if(rs1.next())
        {

        final String username="headind14@gmail.com";
        final String password="password";

        Random ran=new Random();
        String str=new String();
        for(int i=1;i<=5;i++)
            {
            str+=ran.nextInt(10);
            }


        Properties props=new Properties();
        props.put("mail.smtp.auth", "true");
        props.put("mail.smtp.starttls.enable", "true");
        props.put("mail.smtp.host","smtp.gmail.com");
        props.put("mail.smtp.port", 587);

        Session session1=Session.getInstance(props,
        new javax.mail.Authenticator() {
        public PasswordAuthentication getPasswordAuthentication(){
        return new PasswordAuthentication(username,password);
        }});    
        try
            {
             stmt=con.createStatement();
             ResultSet rs=stmt.executeQuery("select * from userreg");
             rs.next();
             Statement st=con.createStatement();
             st.executeUpdate("insert into forgot(uname,code) values('"+rs1.getString(1)+"','"+str+"')");


            Message message=new MimeMessage(session1);
            message.setFrom(new InternetAddress("headind14@gmail.com"));

            message.setRecipients( Message.RecipientType.TO,InternetAddress.parse(""+email+""));
            message.setSubject("chakrika infosolution");
            message.setSubject("Forgot Password");
            message.setContent("Hello "+rs1.getString(1)+",<br>Your Secret Code is: "+str+"<br/><a href='http://localhost:8084/Board/board/forgotpasswordd.jsp?uname="+rs1.getString(1)+"&code="+str+"'>Click Here</a> to reset your Password<br/><br/>","text/html; charset=UTF-8");
            Transport.send(message);
            Transport.send(message);

           %>
           <script>
              alert("Email send Successfully");
              window.location="../board/forgotpassword.jsp";
           </script>

           <%

            }
        catch(MessagingException e)
                               {
            out.println(e);
        }

        }
        else
        {        %>
           <script>
              alert("Invalid Email");
              window.location="../board/forgotpassword.jsp";
           </script>

        <%}
        %>
    </body>
</html>

正如我看到你的代码是正确的。使用JavaMail Api 1.4.5 jar或最新版本代替您使用过的jar。

如果它以前工作过,现在不再工作,会有什么变化?如果您没有更改系统上的任何代码和其他内容,则可能是因为您发送了太多电子邮件或类似内容而取消了您的帐户。请检查您的防火墙。如果可能的话,首先使用mozilla thunderbird进行测试……如果同样失败,那么是防火墙阻止了连接。如果你能得到一些信息,看看这个。