如何编写将电子邮件发送到gmail而不会被标记的servlet

时间:2014-11-05 22:16:53

标签: java email authentication servlets

我们正在编写一个需要允许用户注册的应用程序。典型的方法是用户键入包括其电子邮件地址的注册信息。系统然后向他们发送电子邮件。当他们回复时,确认注册。

代码在Java servlet中。以下是相关方法:

public void sendEmail(HttpServletRequest request){
        //your host
        String host = "nexus.stevens.edu";

        //email from
        String from = "user@stevens.edu";

        //email to
        String to = request.getParameter("email-address");
        String userName = request.getParameter("userName");
        String password = request.getParameter("password");


        // Get system properties
        Properties properties = System.getProperties();
        properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
        properties.setProperty("mail.smtp.host", host);
        properties.put("mail.smtp.starttls.enable","true");
        properties.put("mail.smtp.auth", "true");
        properties.put("mail.smtp.socketFactory.port", "465");
        properties.put("mail.smtp.port", "465");
        // 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("Registeration Confirm");

        // Send the actual HTML message, as big as you like
        message.setContent("<h1>Congradulations to register successfully!</h1></br>" +
                "<p>Your username is:  "+userName+"</p>"+
                "<p>Your password is:  "+password+"</p>"+"PleaseRemeber!",
                "text/html" );

        // Send message
        Transport transport=session.getTransport("smtp");
        transport.connect("nexus.stevens.edu","user","password"); 
        transport.sendMessage(message,message.getAllRecipients());
        transport.close();
        System.out.println("Sent message successfully....");

编写此代码的用户可以通过垃圾邮件过滤器一直向下发送给gmail。对于我们其他人来说,它会反弹。但他可以登录他的电子邮件并发送电子邮件,当然这可以通过。我们如何对我们的服务器进行身份验证?

0 个答案:

没有答案