尽管使用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) 个答案