import java.io.*; import java.util.*; import javax.servlet.*; import javax.servlet.http.*; import com.oreilly.servlet.MailMessage; /* * 6.1.1 * Karl-Adam Karlsson * 06-11-05 * Mailservlet * * */ public class MailServlet extends HttpServlet { //Doget Från 2.1 public void doGet( HttpServletRequest req, HttpServletResponse res ) throws IOException { Enumeration names = req.getParameterNames(); res.setContentType( "text/plain" ); PrintWriter targetClient = res.getWriter(); //lite variabler vi använder. String tmpString, valString; String[] tmpValues; LinkedList aList; // data till var sak får vi genom: req.getParameterValues(tmpString); // Vi vill ha data för: from ,to ,cc ,bcc , topic, text_area, och pass. String pass = req.getParameterValues("pass")[0]; if(!pass.equals("tjodamba")){ targetClient.print( "Felaktigt lösenord, inget mail skickades." ); }else{ //MAN KAN VILJA ÄNDRA MAILSERVER String mailhost = "smtp.bredband.net"; String from = req.getParameterValues("from")[0]; String to = req.getParameterValues("to")[0]; String cc = req.getParameterValues("cc")[0]; String bcc = req.getParameterValues("bcc")[0]; MailMessage msg = new MailMessage(mailhost); msg.from(from); msg.to(to); try{ if(!cc.equals("")||cc!=null) msg.cc(cc); if(!bcc.equals("")||bcc!=null) msg.bcc(bcc); }catch(IOException ioe){ } msg.setSubject( req.getParameterValues("topic")[0] ); PrintStream out = msg.getPrintStream(); /* * Jag tolkar passwordet som ngt man skall hårdkoda in i applikationen, * INTE password till senderns mail. * */ String mess = req.getParameterValues("text_area")[0]; mess = mess.concat( ("\n"+ "Observera! Detta meddelande är sänt från ett formulär på Internet och avsändaren kan vara felaktig!") ); out.print(mess); targetClient.print( "Message sent. Have a nice day." ); msg.sendAndClose(); } /* while( names.hasMoreElements() ){ tmpString = (String)names.nextElement(); tmpValues = req.getParameterValues(tmpString); aList = new LinkedList( Arrays.asList(tmpValues) ); targetClient.print( tmpString+ " =" ); //Loopa igenom alla värden för parametern. while( aList.size()>0 ){ valString = (String)aList.getFirst(); targetClient.print( " "+ valString ); aList.removeFirst(); } //Ny rad targetClient.print( "\n"); } */ }//end of doGet /* * Dopost för POST-funktionalitet hos formuläret */ protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException { doGet( req, res ); } }