Mercurial Hosting > nabble
diff src/nabble/view/web/tools/SendMail.java @ 0:7ecd1a4ef557
add content
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Thu, 21 Mar 2019 19:15:52 -0600 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/nabble/view/web/tools/SendMail.java Thu Mar 21 19:15:52 2019 -0600 @@ -0,0 +1,70 @@ + +package nabble.view.web.tools; + +import fschmidt.util.mail.Mail; +import fschmidt.util.mail.MailException; +import fschmidt.util.mail.MailHome; +import fschmidt.util.mail.PlainTextContent; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.PrintWriter; + + +public final class SendMail extends HttpServlet { + + protected void service(HttpServletRequest request,HttpServletResponse response) + throws ServletException, IOException + { + PrintWriter out = response.getWriter(); + boolean sent = false; + if( "Post".equals( request.getParameter("Action") ) ) { + String mailText = request.getParameter("mail"); + String from = request.getParameter("from"); + String smtpFrom = request.getParameter("smtp_from"); + String to = request.getParameter("to"); + String subject = request.getParameter("subject"); + Mail mail = MailHome.newMail(); + try { + mail.setFrom( MailHome.parseAddress(from) ); + } catch(MailException e) { + throw new RuntimeException("bad 'from' address",e); + } + try { + mail.setTo( MailHome.parseAddress(to) ); + } catch(MailException e) { + throw new RuntimeException("bad 'to' address",e); + } + mail.setSubject(subject); + mail.setContent(new PlainTextContent(mailText)); + if( smtpFrom.equals("") ) { + MailHome.getDefaultSmtpServer().send(mail); + } else { + MailHome.getDefaultSmtpServer().sendFrom(mail,smtpFrom); + } + sent = true; + } + + out.print( "\r\n<html>\r\n<head>\r\n<title>Send Mail</title>\r\n</head>\r\n<body>\r\n" ); + + if (sent) { + + out.print( "\r\n<b>Your mail has been sent.</b><br>\r\n" ); + + } else { + + out.print( "\r\n<form method=\"post\" action=\"" ); + out.print( (response.encodeURL("SendMail.jtp")) ); + out.print( "\" accept-charset=\"UTF-8\">\r\n<input type=\"hidden\" name=\"Action\" value=\"Post\">\r\n<table>\r\n<tr><td>Envelope From</td><td><input type=\"text\" name=\"smtp_from\" size=\"25\"></td></tr>\r\n<tr><td>From:</td><td><input type=\"text\" name=\"from\" size=\"25\"></td></tr>\r\n<tr><td>To:</td><td><input type=\"text\" name=\"to\" size=\"25\" ></td></tr>\r\n<tr><td>Subject:</td><td><input type=\"text\" name=\"subject\" size=\"25\"\"></td></tr>\r\n<tr><td colspan=\"2\"><textarea name=\"mail\" cols=\"72\" rows=\"20\"></textarea></td></tr>\r\n<tr><td><input type=\"submit\" value=\"Send Mail\" /></td></tr>\r\n</table>\r\n</form>\r\n" ); + + } + + out.print( "\r\n<br>\r\n<a href=\"/tools/Index.jtp\">back to tools</a>\r\n<br>\r\n</body>\r\n</html>\r\n" ); + + } + +} +