Note that there are some explanatory texts on larger screens.

plurals
  1. POhow to solve send email action in jsp
    primarykey
    data
    text
    <p>below is my jsp code use to reserve restaurant table. i want to send email to user when table is reserve successful. but it cannot send email to user. i already try many method to solve it but it also return me an error message with email cannot be send. </p> <pre><code>&lt;%@page import="java.util.Date"%&gt; &lt;%@ page import="java.util.*" %&gt; &lt;%@ page import="javax.mail.*" %&gt; &lt;%@ page import="javax.mail.internet.*" %&gt; &lt;%@ page import="javax.mail.internet.*,javax.activation.*"%&gt; &lt;%@ page import="javax.servlet.http.*,javax.servlet.*" %&gt; &lt;%@page import="java.text.SimpleDateFormat"%&gt; &lt;%@page import="booking.Bean.Login"%&gt; &lt;%@page import="booking.DB.OrderDB"%&gt; &lt;%@page import="booking.Bean.Order"%&gt; &lt;%@page import="booking.Wrapper.Wrapper"%&gt; &lt;%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"&gt; &lt;link href="css/style.css" rel="stylesheet" type="text/css"&gt; &lt;title&gt;Add Order JSP&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="container"&gt; &lt;div id="header"&gt; &lt;jsp:include page="header.jsp" /&gt; &lt;/div&gt; &lt;div id="menu"&gt; &lt;ul&gt; &lt;li class="menuitem"&gt;&lt;a href="aboutC.jsp"&gt;About&lt;/a&gt; &lt;/li&gt; &lt;li class="menuitem"&gt;&lt;a href="clientsC.jsp"&gt;Menu&lt;/a&gt; &lt;/li&gt; &lt;li class="menuitem"&gt;&lt;a href="contactC.jsp"&gt;Contact Us&lt;/a&gt; &lt;/li&gt; &lt;li class="menuitem"&gt;&lt;a href="login.jsp"&gt;Logout&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;/div&gt; &lt;div id="leftmenu"&gt; &lt;div id="leftmenu_top"&gt;&lt;/div&gt; &lt;div id="leftmenu_main"&gt; &lt;jsp:include page="orderMenu.jsp" /&gt; &lt;/div&gt; &lt;div id="leftmenu_bottom"&gt;&lt;/div&gt; &lt;/div&gt; &lt;div id="content"&gt; &lt;div id="content_top"&gt;&lt;/div&gt; &lt;div id="content_main"&gt; &lt;h2&gt;Order Status&lt;/h2&gt; &lt;% String OrderCustId = request.getParameter("OrderCustIDtxt"); String OrderDate = request.getParameter("OrderDatetxt"); String OrderTime = request.getParameter("OrderTimetxt"); String OrderSeat = request.getParameter("OrderSeattxt"); //char BStatus = request.getParameter("OrderStatustxt"); //String userId = request.getParameter("txtUserId"); String custName = request.getParameter("textCustName"); String cEmail = request.getParameter("textCustEmail"); String cPhoneNo = request.getParameter("textCustContactNo"); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date date = sdf.parse(OrderDate); Order order = new Order(); order.getOrderId(); order.setCustId(OrderCustId); order.setStaffId("2000"); order.setOrderDate(date); order.setOrderTime(OrderTime); order.setOrderSeat(OrderSeat); order.setBStatus('A'); order.setOCustName(custName); order.setcOEmail(cEmail); order.setcOPhoneNo(cPhoneNo); OrderDB orderDB = new OrderDB(); int seatAvaliable=orderDB.checkSeat(order); if(seatAvaliable&lt;35){ Wrapper wrapper = new Wrapper(); int status = wrapper.addOrder(order); if (status &gt; 0) { out.print("&lt;center&gt;&lt;h5&gt;&lt;font color='blue'&gt;Successful Place Order&lt;/font&gt;&lt;/h5&gt;&lt;/center&gt;"); %&gt; &lt;br&gt; &lt;table border="0" align="center"&gt; &lt;tr&gt; &lt;th colspan="2" bgcolor="lightgrey"&gt;Display Details Added New Order&lt;/th&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Order ID:&lt;/td&gt; &lt;td&gt;&lt;%=order.getOrderId()%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Customer ID:&lt;/td&gt; &lt;td&gt;&lt;%=OrderCustId%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Order Date:&lt;/td&gt; &lt;td&gt;&lt;%=date%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Order Time:&lt;/td&gt; &lt;td&gt;&lt;%=OrderTime%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Order Seat:&lt;/td&gt; &lt;td&gt;&lt;%=OrderSeat%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Customer Name:&lt;/td&gt; &lt;td&gt;&lt;%=custName%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Customer Email:&lt;/td&gt; &lt;td&gt;&lt;%=cEmail%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;Customer Contact No:&lt;/td&gt; &lt;td&gt;&lt;%=cPhoneNo%&gt;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td colspan="2"&gt;&amp;nbsp;&lt;/td&gt; &lt;/tr&gt; &lt;tr&gt; &lt;td&gt;&lt;/td&gt; &lt;td&gt;&lt;input type="button" value="Back" onclick="history.go(-1)" /&gt;&lt;/td&gt; &lt;/tr&gt; &lt;/table&gt; &lt;% String result; String to = cEmail; //ur client email String from = "dasreg10@gmail.com"; //ur email address String host = "smtp.gmail.com"; //for yahoo smtp.mail.yahoo.com == 465 Properties properties = System.getProperties(); properties.setProperty("mail.smtp.host", host); properties.setProperty("mail.smtp.port","587"); Session mailSession = Session.getDefaultInstance(properties); try{ MimeMessage message = new MimeMessage(mailSession); message.setFrom(new InternetAddress(from)); message.addRecipient(Message.RecipientType.TO, new InternetAddress(to)); //This is your email subject message.setSubject("L'eo Cafe Booking Success"); //This is the actual msg message.setText(custName+" "+"Your table has been reserved at "+date+" "+OrderTime); // Send message Transport.send(message); result = "Booking information sent successfully...."; }catch (MessagingException mex) { mex.printStackTrace(); result = "Error: unable to send message...."; } out.println("Result: " + result + "\n"); %&gt; &lt;% } else { out.print("&lt;center&gt;&lt;h5&gt;&lt;font color='red'&gt;Failed to Place Order&lt;/font&gt;&lt;/h5&gt;&lt;/center&gt;"); } %&gt; &lt;br&gt; &lt;% } else{ out.print("&lt;center&gt;&lt;h5&gt;&lt;font color='red'&gt;Booking Full!!!&lt;/font&gt;&lt;/h5&gt;&lt;/center&gt;"); } %&gt; &lt;/div&gt; &lt;div id="content_bottom"&gt;&lt;/div&gt; &lt;jsp:include page="footer.jsp" /&gt; &lt;/div&gt; &lt;/div&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p>below is the exception that get from the system:</p> <pre><code> javax.mail.SendFailedException: Sending failed; nested exception is: class javax.mail.MessagingException: 530 5.7.0 Must issue a STARTTLS command first. ay5sm8087291pab.1 at javax.mail.Transport.send0(Transport.java:218) at javax.mail.Transport.send(Transport.java:80) at org.apache.jsp.addOrderJSP_jsp._jspService(addOrderJSP_jsp.java:256) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:929) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1002) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) </code></pre> <p>hope can help me solve this problem because it is urgent for me to pass up my final year project. thank you.</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload