Dimitris – Most of what you are saying here is over my head, I don't want to give the impression that I have any experience with Apache or Java.
The only mail related .jar I round on the existing server is a mail.jar located in WEB-INF/lib. I did try copying that into the new server but that did not make any difference. I do not know how to tell if my mail session is configured through .xml files, and not bundled as a standalone jar. I would be happy to provide any additional information that you might think is helpful. If you think my level of inexperience with this is too big of a hurdle please let me know. I still appreciate all of the help you have given me to this point. Bill From: Dimitris Soumis <[email protected]> Sent: Saturday, February 28, 2026 9:15 AM To: Tomcat Users List <[email protected]> Subject: Re: Apache Tomcat 10 Issue On Sat, Feb 28, 2026 at 3:58 PM Dimitris Soumis <[email protected]<mailto:[email protected]>> wrote: > On Fri, Feb 27, 2026 at 8:31 PM Short, William J. > <[email protected]<mailto:[email protected]>> > wrote: > >> Wow! There was no files.xml in the Catalina/localhost directory. I copied >> that file from the existing server and immediately the attachment problem >> was fixed. >> >> The email notification issue still exists. Below is the Tomcat page that >> pops up when I try to send. >> >> Attached is the .txt file that was created as soon as a I attempted to >> send the notification message. That was in C:/Program Files/Apache Software >> Foundation/Tomcat 10.1/Logs >> >> Let me know if there are any other logs you might need. >> >> And THANK YOU! >> >> HTTP Status 500 – Internal Server Error >> Type Exception Report >> >> Message An exception occurred processing [MainView.jsp] at line [85] >> >> Description The server encountered an unexpected condition that prevented >> it from fulfilling the request. >> >> Exception >> >> org.apache.jasper.JasperException: An exception occurred processing >> [MainView.jsp] at line [85] >> >> 82: response.sendRedirect("login.action?reason=" >> 83: + sessionBeanId.getLoginStatus()); >> 84: } else { >> 85: MainViewBeanId.initialize(request); >> 86: // MainViewBeanId.retrieveChanges(sessionBeanId); >> 87: // MainViewBeanId.retrieveTasks(sessionBeanId); >> 88: //<body onLoad="return showDeletionMessage('<jsp:getProperty >> name="MainViewBeanId" property="deletionError"/>')"> >> >> >> Stacktrace: >> >> org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:599) >> >> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:478) >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380) >> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) >> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) >> octane.Home.doGet(Home.java:314) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) >> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) >> Root Cause >> >> jakarta.servlet.ServletException: java.lang.NoClassDefFoundError: >> com/sun/mail/util/MailLogger >> >> org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:666) >> org.apache.jsp.MainView_jsp._jspService(MainView_jsp.java:298) >> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) >> >> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456) >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380) >> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) >> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) >> octane.Home.doGet(Home.java:314) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) >> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) >> Root Cause >> >> java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger >> javax.mail.Session.initLogger(Session.java:283) >> javax.mail.Session.<init>(http://Session.java:268<http://Session.java:268>) >> javax.mail.Session.getDefaultInstance(Session.java:378) >> octane.JobManager.sendSingleEmail(JobManager.java:242) >> octane.MainViewBean.initialize(MainViewBean.java:145) >> org.apache.jsp.MainView_jsp._jspService(MainView_jsp.java:237) >> org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) >> >> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:456) >> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:380) >> org.apache.jasper.servlet.JspServlet.service(JspServlet.java:328) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) >> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) >> octane.Home.doGet(Home.java:314) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564) >> jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658) >> org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) >> Note The full stack trace of the root cause is available in the server >> logs. >> > > Your application uses JavaMail (javax.mail.Session), but the > implementation classes are missing from the runtime classpath. > > These jars should be present in your working Tomcat 9 deployment in > WEB-INF/lib, in Tomcat’s lib, or even in the JRE’s > old <JAVA_HOME>/jre/lib/ext mechanism. > Locate and copy the JavaMail implementation jars from the old server to > the new one. You will also need to add the latest version > of javax.activation jar for it to work with Java >= 11. > Note that if your mail session is configured through .xml files, and not bundled as a standalone jar, the sole way forward is to align your code with the Jakarta Mail API https://tomcat.apache.org/tomcat-10.1-doc/jndi-resources-howto.html#Jakarta_Mail_Sessions<https://tomcat.apache.org/tomcat-10.1-doc/jndi-resources-howto.html#Jakarta_Mail_Sessions> You can also utilize the https://tomcat.apache.org/download-migration.cgi<https://tomcat.apache.org/download-migration.cgi> for that. > > >> Apache Tomcat/10.1.8 >> >> >> -----Original Message----- >> From: Dimitris Soumis <[email protected]<mailto:[email protected]>> >> Sent: Friday, February 27, 2026 10:44 AM >> To: Tomcat Users List >> <[email protected]<mailto:[email protected]>> >> Subject: Re: Apache Tomcat 10 Issue >> >> On Fri, Feb 27, 2026 at 4:56 PM Short, William J. >> <[email protected]<mailto:[email protected]>> >> wrote: >> >> > We have been using a Firebird Database with Java and Tomcat. The >> > vendor who sold us this system has abandoned us after receiving >> > payment to help us upgrade. >> > >> > Moving it to a new Windows Server and upgrading because of >> > vulnerabilities in Apache Tomcat 9.0.16. >> > >> > I can open the web page and login and see all of the records I am >> > supposed to see. Two things that do not work that may be Tomcat >> > related. Opening attachments that are attached to a record and >> > sending an email notification. Here is the message received when >> > trying to open an attachment. >> > >> > HTTP Status 404 - Not Found >> > ________________________________ >> > Type Status Report >> > Message The requested resource >> > [/files/Requests/Change%2021743/flameproof%20castings.xlsx] is not >> > available Description The origin server did not find a current >> > representation for the target resource or is not willing to disclose >> that one exists. >> > ________________________________ >> > Apache Tomcat/10.1.8 >> > >> > >> > "/files/Requests/Change%2021743/flameproof%20castings.xlsx" is the >> > correct location for the attachment. This matches the current working >> server. >> > >> > Here are the versions that we are going to and from: >> > >> > Firebird 3.0.4.33054 to 3.0.13.33818 >> > >> > Java 8 to Microsoft JDK with Hotspot 11.0.23+9 >> > >> > Apache Tomcat 9.0.16 to 10.1.8 >> > >> > >> > Any help would be greatly appreciated. >> > >> > Thanks, >> > >> > Bill Short >> > >> > Disclaimer >> > >> > The information contained in this communication from the sender is >> > confidential. It is intended solely for use by the recipient and >> > others authorized to receive it. If you are not the recipient, you are >> > hereby notified that any disclosure, copying, distribution or taking >> > action in relation of the contents of this information is strictly >> > prohibited and may be unlawful. >> > >> > This email has been scanned for viruses and malware, and may have been >> > automatically archived by Mimecast, a leader in email security and >> > cyber resilience. Mimecast integrates email defenses with brand >> > protection, security awareness training, web security, compliance and >> > other essential capabilities. Mimecast helps protect large and small >> > organizations from malicious activity, human error and technology >> > failure; and to lead the movement toward building a more resilient >> > world. To find out more, visit our website. >> > >> >> Bill, >> >> Upgrading from Tomcat 9 to 10.1 is not a security upgrade but rather a >> Jakarta EE migration (javax.* to jakarta.*).If your app isn’t explicitly >> Jakarta ready, parts of it can break in ways that look unrelated. Latest >> Tomcat 9 release, 9.0.115, contains fixes for all known issues in previous >> versions. Additionally, version 10.1.8 is quite old and you should consider >> upgrading to the latest 10.1.52. >> >> A 404 status usually indicates that the /files context isn’t mapped, or >> Tomcat can’t access the underlying path. >> >> Please check these on your current deployment: >> 1) Do you have webapps/files ? Yes. That is where the .war file is >> located and the program (named Octane) also has a directory under webapps. >> 2) Do you have conf/Catalina/localhost/files.xml? >> 3) Do you see any line indicating the error in Tomcat logs/ ? >> 4) Does your Windows account, under which the service is running, have >> read access to the attachments directory? >> >> Tomcat itself doesn’t send emails. The broken email notification may be >> directly related to the Jakarta namespace changes that come with Tomcat >> 10.1, which your app/libraries may not adhere to. >> >> We can investigate further if you provide the stack trace from the logs. >> >> Kind regards, >> Dimitris >> >> >> *Disclaimer* >> >> The information contained in this communication from the sender is >> confidential. It is intended solely for use by the recipient and others >> authorized to receive it. If you are not the recipient, you are hereby >> notified that any disclosure, copying, distribution or taking action in >> relation of the contents of this information is strictly prohibited and may >> be unlawful. >> >> This email has been scanned for viruses and malware, and may have been >> automatically archived by Mimecast, a leader in email security and cyber >> resilience. Mimecast integrates email defenses with brand protection, >> security awareness training, web security, compliance and other essential >> capabilities. Mimecast helps protect large and small organizations from >> malicious activity, human error and technology failure; and to lead the >> movement toward building a more resilient world. To find out more, visit >> our website. >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: >> [email protected]<mailto:[email protected]> >> For additional commands, e-mail: >> [email protected]<mailto:[email protected]> >> > > Dimitris > Disclaimer The information contained in this communication from the sender is confidential. It is intended solely for use by the recipient and others authorized to receive it. If you are not the recipient, you are hereby notified that any disclosure, copying, distribution or taking action in relation of the contents of this information is strictly prohibited and may be unlawful. This email has been scanned for viruses and malware, and may have been automatically archived by Mimecast, a leader in email security and cyber resilience. Mimecast integrates email defenses with brand protection, security awareness training, web security, compliance and other essential capabilities. Mimecast helps protect large and small organizations from malicious activity, human error and technology failure; and to lead the movement toward building a more resilient world. To find out more, visit our website.
