Ошибка при отправке имейла из сервлета

271
16 декабря 2017, 06:40

Всем привет! Есть небольшая проблема, не отправляется имейл из сервлета. Используется java 1.4, tomcat 4.1. Подозреваю, что проблема в томкате, т.к. в тестовом варианте все отправляется. Может кто сталкивался с подобной проблемой?

 public class MailServlet extends HttpServlet
{
  protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws
  ServletException, IOException
  {
    try {
        sendMail("smtpHost", "user", "pass", "from", "to", "subject","text");
    } catch (Exception e) {
    }
  }
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
        throws ServletException, IOException
  {}
  public static void sendMail(String smtpHost,String username,String password,String senderAddress,String recipientsAddress,String subject,String text ) throws Exception
  {
    MailAuthenticator auth = new MailAuthenticator(username, password);
    Properties properties = new Properties();
    properties.put("mail.smtp.host", smtpHost);
    properties.put("mail.smtp.auth", "true");
    properties.put("mail.smtp.socketFactory.port", "465");
    properties.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
    Session session = Session.getDefaultInstance(properties, auth);
      Message msg = new MimeMessage(session);
      msg.setFrom(new InternetAddress(senderAddress));
      msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(recipientsAddress, false));
      msg.setSubject(subject);
      msg.setText(text);
      msg.setHeader("Recall", "Recall");
      msg.setSentDate(new Date( ));
      Transport.send(msg);
  }
}
class MailAuthenticator extends Authenticator
{
  private final String user;
  private final String password;
  public MailAuthenticator(String user, String password)
  {
    this.user = user;
    this.password = password;
  }
  protected PasswordAuthentication getPasswordAuthentication()
  {
    return new PasswordAuthentication(this.user, this.password);
  }
}

Ошибка - `java.lang.SecurityException: Access to default session denied

рекомендуют поменять Session.getDefaultInstance на Session.getInstance, тогда другая ошибка javax.mail.MessagingException: Exception reading response; nested exception is:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Certificate signature validation failed

READ ALSO
REGISTER после INVITE SIP Java

REGISTER после INVITE SIP Java

Каждый раз, когда звоню по SIP через свой сервер, то ловлю INVITE, создаю запрос с полями CSeq, Call-id и тд,и псоле мне нужно отправить инвайт на другой...

216
Split Строка в Java Android

Split Строка в Java Android

По запросу на сервер приходит строка, которую я делю и вывожу на экран:

249
SIP Invalid content length java

SIP Invalid content length java

Все время выбивает при инвайте обратно на пользователя(кинул два метода: форвард - на пользователя, кому звонят, и второй на пользователя,...

213
Как передать параметр в конструктор?

Как передать параметр в конструктор?

Только осваиваю программирование, и возник такой вопрос: Есть некий класс Plane, в котором есть 3 текстуры и нужно выбрать случайнуюИ есть главный...

207