0
|
1
|
|
2 package nabble.view.web.tools;
|
|
3
|
|
4 import fschmidt.util.mail.Mail;
|
|
5 import fschmidt.util.mail.MailException;
|
|
6 import fschmidt.util.mail.MailHome;
|
|
7 import fschmidt.util.mail.PlainTextContent;
|
|
8
|
|
9 import javax.servlet.ServletException;
|
|
10 import javax.servlet.http.HttpServlet;
|
|
11 import javax.servlet.http.HttpServletRequest;
|
|
12 import javax.servlet.http.HttpServletResponse;
|
|
13 import java.io.IOException;
|
|
14 import java.io.PrintWriter;
|
|
15
|
|
16
|
|
17 public final class SendMail extends HttpServlet {
|
|
18
|
|
19 protected void service(HttpServletRequest request,HttpServletResponse response)
|
|
20 throws ServletException, IOException
|
|
21 {
|
|
22 PrintWriter out = response.getWriter();
|
|
23 boolean sent = false;
|
|
24 if( "Post".equals( request.getParameter("Action") ) ) {
|
|
25 String mailText = request.getParameter("mail");
|
|
26 String from = request.getParameter("from");
|
|
27 String smtpFrom = request.getParameter("smtp_from");
|
|
28 String to = request.getParameter("to");
|
|
29 String subject = request.getParameter("subject");
|
|
30 Mail mail = MailHome.newMail();
|
|
31 try {
|
|
32 mail.setFrom( MailHome.parseAddress(from) );
|
|
33 } catch(MailException e) {
|
|
34 throw new RuntimeException("bad 'from' address",e);
|
|
35 }
|
|
36 try {
|
|
37 mail.setTo( MailHome.parseAddress(to) );
|
|
38 } catch(MailException e) {
|
|
39 throw new RuntimeException("bad 'to' address",e);
|
|
40 }
|
|
41 mail.setSubject(subject);
|
|
42 mail.setContent(new PlainTextContent(mailText));
|
|
43 if( smtpFrom.equals("") ) {
|
|
44 MailHome.getDefaultSmtpServer().send(mail);
|
|
45 } else {
|
|
46 MailHome.getDefaultSmtpServer().sendFrom(mail,smtpFrom);
|
|
47 }
|
|
48 sent = true;
|
|
49 }
|
|
50
|
|
51 out.print( "\r\n<html>\r\n<head>\r\n<title>Send Mail</title>\r\n</head>\r\n<body>\r\n" );
|
|
52
|
|
53 if (sent) {
|
|
54
|
|
55 out.print( "\r\n<b>Your mail has been sent.</b><br>\r\n" );
|
|
56
|
|
57 } else {
|
|
58
|
|
59 out.print( "\r\n<form method=\"post\" action=\"" );
|
|
60 out.print( (response.encodeURL("SendMail.jtp")) );
|
|
61 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" );
|
|
62
|
|
63 }
|
|
64
|
|
65 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" );
|
|
66
|
|
67 }
|
|
68
|
|
69 }
|
|
70
|