有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

尽管使用java Mail API使用随机端口号发送邮件

我使用自定义邮件服务器API创建了一个servlet,从前端接收参数。当我为“mail.smtp.port”发送随机数时,邮件仍在发送中 我只想知道服务器是否使用默认端口值来输入随机数,当提供有效输入时,它是否也这样做?如果是,我应该采取什么措施

private static final long serialVersionUID = 1L;

public void doPost(HttpServletRequest request,HttpServletResponse response){

    final String USERNAME = request.getParameter("userName");
    final String PASSWORD = request.getParameter("password");


    String host = request.getParameter("hostSMTP");
    String port = request.getParameter("portSMTP");
    String type = request.getParameter("typeSMTP");     
    String fromName = request.getParameter("name");
    String from = request.getParameter("from");
    String to = request.getParameter("to");
    String subject = request.getParameter("subject");
    String body = request.getParameter("body");


    System.err.println(host);
    System.err.println(port);
    System.err.println(type);
    System.err.println(fromName);
    System.err.println(from);
    System.err.println(to);
    System.err.println(subject);
    System.err.println(body);



      Properties properties = new Properties();
      properties.put("mail.smtp."+type+".enable", "true");
      properties.put("mail.smtp.auth", "true");
      properties.put("mail.smtp.host", host);
      properties.put("mail.smtp.port", port);

        Authenticator authenticate = new Authenticator() {
            public PasswordAuthentication getPasswordAuthentication() {
                return new PasswordAuthentication(USERNAME, PASSWORD);
            }
        };

        Session session = Session.getInstance(properties, authenticate);

        try {

            Message message = new MimeMessage(session);


            try {
                message.setFrom(new InternetAddress(from,fromName));
            } catch (UnsupportedEncodingException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            message.setRecipients(Message.RecipientType.TO,
                InternetAddress.parse(to));



            message.setSubject(subject);

            message.setSentDate( new Date());

            message.setText(body);

            System.out.println("object==>"+message);

            Transport.send(message);

            System.err.println("Mail Sent.");

        } catch (MessagingException e) {
            throw new RuntimeException(e);
        }
    }



}

共 (0) 个答案