|
<B><SPAN >import </SPAN></B><SPAN >javax.microedition.lcdui.*;</SPAN>
<B><SPAN >import </SPAN></B><SPAN >javax.microedition.midlet.MIDlet;</SPAN>
<B><SPAN >import </SPAN></B><SPAN >javax.microedition.midlet.MIDletStateChangeException;</SPAN>
<B><SPAN >import </SPAN></B><SPAN >javax.microedition.io.*;</SPAN>
<B><SPAN >import </SPAN></B><SPAN >java.io.InputStream;</SPAN>
<B><SPAN >import </SPAN></B><SPAN >java.io.PrintStream;</SPAN>
<B><SPAN >public class </SPAN></B><SPAN >SendMail </SPAN><B><SPAN >extends </SPAN></B><SPAN >MIDlet </SPAN><B><SPAN >implements </SPAN></B><SPAN >CommandListener {</SPAN>
<B><SPAN >private </SPAN></B><SPAN >String MAIL_SERVER_URL = </SPAN>
<SPAN >"http://localhost:8080/examples/servlet/SendMailServlet?"</SPAN><SPAN >;</SPAN>
<SPAN >Display display = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN>
<SPAN >List dmenu = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN>
<SPAN >TextBox input = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN>
<SPAN >TextBox to =</SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN>
<SPAN >TextBox msg =</SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN>
<SPAN >String user = </SPAN><B><SPAN >null</SPAN></B><SPAN >;</SPAN>
<B><SPAN >int </SPAN></B><SPAN >status =</SPAN><SPAN >0</SPAN><SPAN >;</SPAN>
<SPAN >Command backCommand = </SPAN><B><SPAN >new </SPAN></B><SPAN >Command(</SPAN><SPAN >"Back"</SPAN><SPAN >, Command.BACK, </SPAN><SPAN >0</SPAN><SPAN >);</SPAN>
<SPAN >Command submitCommand = </SPAN><B><SPAN >new </SPAN></B><SPAN >Command(</SPAN><SPAN >"Submit"</SPAN><SPAN >, Command.</SPAN><SPAN lang=EN-US >OK, </SPAN><SPAN lang=EN-US >2</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >Command exitCommand = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Command(</SPAN><SPAN lang=EN-US >"Exit"</SPAN><SPAN lang=EN-US >, Command.STOP, </SPAN><SPAN lang=EN-US >3</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >Command okCommand = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Command(</SPAN><SPAN lang=EN-US >"OK"</SPAN><SPAN lang=EN-US >, Command.OK, </SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >String url = MAIL_SERVER_URL + </SPAN><SPAN lang=EN-US >"u=" </SPAN><SPAN lang=EN-US >+ user;</SPAN>
<B><SPAN lang=EN-US >public </SPAN></B><SPAN lang=EN-US >SendMail() { }</SPAN>
<B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >startApp() </SPAN><B><SPAN lang=EN-US >throws </SPAN></B><SPAN lang=EN-US >MIDletStateChangeException {</SPAN>
<SPAN lang=EN-US >display = Display.getDisplay(</SPAN><B><SPAN lang=EN-US >this</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >displayMenu();</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >pauseApp() { }</SPAN>
<B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >destroyApp(</SPAN><B><SPAN lang=EN-US >boolean </SPAN></B><SPAN lang=EN-US >unconditional) {</SPAN>
<SPAN lang=EN-US >notifyDestroyed();</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >commandAction(Command c, Displayable d) {</SPAN>
<B><SPAN lang=EN-US >if</SPAN></B><SPAN lang=EN-US >(c == exitCommand ) {</SPAN>
<SPAN lang=EN-US >destroyApp(</SPAN><B><SPAN lang=EN-US >true</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >else if </SPAN></B><SPAN lang=EN-US >(c == backCommand) {</SPAN>
<SPAN lang=EN-US >displayMenu();</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >else if </SPAN></B><SPAN lang=EN-US >(c == submitCommand) {</SPAN>
<SPAN lang=EN-US >user = input.getString();</SPAN>
<SPAN lang=EN-US >doLogin(user);</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >else if </SPAN></B><SPAN lang=EN-US >(c == okCommand) {</SPAN>
<SPAN lang=EN-US >t = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >SendThread(input.getString(),to.getString(),</SPAN>
<SPAN lang=EN-US >msg.getString());</SPAN>
<SPAN lang=EN-US >showAlert(t.getResponseMessage());</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >else if </SPAN></B><SPAN lang=EN-US >(d == dmenu) {</SPAN>
<SPAN lang=EN-US >handleMainMenu();</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >else</SPAN></B>
<SPAN lang=EN-US >loginUser();</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >private void </SPAN></B><SPAN lang=EN-US >displayMenu() {</SPAN>
<SPAN lang=EN-US >dmenu = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >List(</SPAN><SPAN lang=EN-US >"Send Email"</SPAN><SPAN lang=EN-US >, Choice.IMPLICIT);</SPAN>
<B><SPAN lang=EN-US >if </SPAN></B><SPAN lang=EN-US >(user == </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >)</SPAN>
<SPAN lang=EN-US >dmenu.append(</SPAN><SPAN lang=EN-US >"Login"</SPAN><SPAN lang=EN-US >, </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >);</SPAN>
<B><SPAN lang=EN-US >else</SPAN></B>
<SPAN lang=EN-US >dmenu.append(</SPAN><SPAN lang=EN-US >"Logout"</SPAN><SPAN lang=EN-US >, </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >dmenu.append(</SPAN><SPAN lang=EN-US >"Send Mail"</SPAN><SPAN lang=EN-US >, </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >dmenu.addCommand(exitCommand);</SPAN>
<SPAN lang=EN-US >dmenu.setCommandListener(</SPAN><B><SPAN lang=EN-US >this</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >display.setCurrent(dmenu);</SPAN>
<SPAN lang=EN-US >status = </SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >/* Este método pergunta ao usuário seu e-mail e sua senha */</SPAN>
<B><SPAN lang=EN-US >private void </SPAN></B><SPAN lang=EN-US >loginUser() {</SPAN>
<SPAN lang=EN-US >input = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >TextBox(</SPAN>
<SPAN lang=EN-US >"Digite Login/Password (Separado pela /) :"</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >""</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >25</SPAN><SPAN lang=EN-US >, </SPAN>
<SPAN lang=EN-US >TextField.ANY);</SPAN>
<SPAN lang=EN-US >input.addCommand(submitCommand);</SPAN>
<SPAN lang=EN-US >input.addCommand(backCommand);</SPAN>
<SPAN lang=EN-US >input.setCommandListener(</SPAN><B><SPAN lang=EN-US >this</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >display.setCurrent(input);</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >/* Este método executa o inicio de uma sessão */</SPAN>
<B><SPAN lang=EN-US >private void </SPAN></B><SPAN lang=EN-US >doLogin(String user) {</SPAN>
<SPAN lang=EN-US >StreamConnection c = </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >InputStream is=</SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >StringBuffer sb = </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >String err = </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<B><SPAN lang=EN-US >try </SPAN></B><SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >c = (StreamConnection)Connector.open(url, Connector.READ_WRITE);</SPAN>
<SPAN lang=EN-US >is = c.openInputStream();</SPAN>
<B><SPAN lang=EN-US >int </SPAN></B><SPAN lang=EN-US >ch;</SPAN>
<SPAN lang=EN-US >sb = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >StringBuffer();</SPAN>
<B><SPAN lang=EN-US >while </SPAN></B><SPAN lang=EN-US >((ch = is.read()) != -</SPAN><SPAN lang=EN-US >1</SPAN><SPAN lang=EN-US >) {</SPAN>
<SPAN lang=EN-US >sb.append((</SPAN><B><SPAN lang=EN-US >char</SPAN></B><SPAN lang=EN-US >)ch);</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >catch</SPAN></B><SPAN lang=EN-US >(Exception ex){ err = ex.getMessage(); } </SPAN><B><SPAN lang=EN-US >finally </SPAN></B><SPAN lang=EN-US >{</SPAN>
<B><SPAN lang=EN-US >try </SPAN></B><SPAN lang=EN-US >{</SPAN>
<B><SPAN lang=EN-US >if</SPAN></B><SPAN lang=EN-US >(is!= </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >) {is.close(); }</SPAN>
<B><SPAN lang=EN-US >if</SPAN></B><SPAN lang=EN-US >(c != </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >) {c.close(); }</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >catch</SPAN></B><SPAN lang=EN-US >(Exception exp) { err = exp.getMessage(); }</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >if </SPAN></B><SPAN lang=EN-US >(err == </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >) {</SPAN>
<SPAN lang=EN-US >user = sb.toString();</SPAN>
<B><SPAN lang=EN-US >if </SPAN></B><SPAN lang=EN-US >(user.indexOf(</SPAN><SPAN lang=EN-US >"UsuarioInvalido"</SPAN><SPAN lang=EN-US >) >= </SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >) {</SPAN>
<SPAN lang=EN-US >user = </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >showAlert(</SPAN><SPAN lang=EN-US >"Usuario e senha errados"</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >else </SPAN></B><SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >input = </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >dmenu = </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >displayMenu();</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >else</SPAN></B>
<SPAN lang=EN-US >showAlert(err); </SPAN><SPAN lang=EN-US >// Necessário para a página de erro</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >private void </SPAN></B><SPAN lang=EN-US >showAlert(String err) {</SPAN>
<SPAN lang=EN-US >Alert a = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Alert(</SPAN><SPAN lang=EN-US >""</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >a.setString(err);</SPAN>
<SPAN lang=EN-US >a.setTimeout(Alert.FOREVER);</SPAN>
<SPAN lang=EN-US >display.setCurrent(a);</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >private void </SPAN></B><SPAN lang=EN-US >handleMainMenu() {</SPAN>
<B><SPAN lang=EN-US >int </SPAN></B><SPAN lang=EN-US >index = dmenu.getSelectedIndex();</SPAN>
<B><SPAN lang=EN-US >switch</SPAN></B><SPAN lang=EN-US >(index) {</SPAN>
<B><SPAN lang=EN-US >case </SPAN></B><SPAN lang=EN-US >0 </SPAN><SPAN lang=EN-US >:</SPAN>
<B><SPAN lang=EN-US >if </SPAN></B><SPAN lang=EN-US >(user != </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >) {</SPAN>
<SPAN lang=EN-US >sendeMail();</SPAN>
<B><SPAN lang=EN-US >break</SPAN></B><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >case </SPAN></B><SPAN lang=EN-US >1 </SPAN><SPAN lang=EN-US >:</SPAN>
<SPAN lang=EN-US >status = </SPAN><SPAN lang=EN-US >1</SPAN><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >loginUser();</SPAN>
<B><SPAN lang=EN-US >break</SPAN></B><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >/* Este método permite que o usuário cria a mensagem do e-mail*/</SPAN>
<B><SPAN lang=EN-US >private void </SPAN></B><SPAN lang=EN-US >sendeMail() {</SPAN>
<SPAN lang=EN-US >List menu = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >List(</SPAN><SPAN lang=EN-US >"Enviar mensagem"</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >to = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >TextBox(</SPAN><SPAN lang=EN-US >"Para :"</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >""</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >50</SPAN><SPAN lang=EN-US >, TextField.ANY);</SPAN>
<SPAN lang=EN-US >msg = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >TextBox(</SPAN><SPAN lang=EN-US >"Mensagem :"</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >""</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >250</SPAN><SPAN lang=EN-US >, TextField.ANY);</SPAN>
<SPAN lang=EN-US >menu.append(to);</SPAN>
<SPAN lang=EN-US >menu.append(msg);</SPAN>
<SPAN lang=EN-US >menu.addCommand(okCommand);</SPAN>
<SPAN lang=EN-US >menu.addCommand(exitCommand);</SPAN>
<SPAN lang=EN-US >menu.setCommandListener(</SPAN><B><SPAN lang=EN-US >this</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >display.setCurrent(menu);</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >public class </SPAN></B><SPAN lang=EN-US >SendThread </SPAN><B><SPAN lang=EN-US >implements </SPAN></B><SPAN lang=EN-US >runnable {</SPAN>
<SPAN lang=EN-US >String user;</SPAN>
<SPAN lang=EN-US >String pwd;</SPAN>
<SPAN lang=EN-US >String to;</SPAN>
<SPAN lang=EN-US >String msg;</SPAN>
<B><SPAN lang=EN-US >public </SPAN></B><SPAN lang=EN-US >SendThread(String user,String to,String msg) {</SPAN>
<B><SPAN lang=EN-US >int </SPAN></B><SPAN lang=EN-US >j user.indexOf(</SPAN><SPAN lang=EN-US >'/'</SPAN><SPAN lang=EN-US >);</SPAN>
<B><SPAN lang=EN-US >if </SPAN></B><SPAN lang=EN-US >(j > </SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >) {</SPAN>
<SPAN lang=EN-US >user = user.substring(</SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >,j);</SPAN>
<SPAN lang=EN-US >pwd = user.substring(j+</SPAN><SPAN lang=EN-US >1</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >to = to;</SPAN>
<SPAN lang=EN-US >msg = msg;</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >/*Este método ob´tem a resposta depois do e-mail ser enviado*/</SPAN>
<B><SPAN lang=EN-US >public </SPAN></B><SPAN lang=EN-US >String getResponseMessage() {</SPAN>
<B><SPAN lang=EN-US >return </SPAN></B><SPAN lang=EN-US >responseMessage;</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >/* Este método <SPAN > </SPAN>envia um POST request para o servlet com os parêmtros</SPAN>
<SPAN lang=EN-US > necessários*/</SPAN>
<B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >run() {</SPAN>
<SPAN lang=EN-US >HttpConnection hc = </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >OutputStream out = </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<B><SPAN lang=EN-US >try </SPAN></B><SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >hc = (HttpConnection)Connector.open(url);</SPAN>
<SPAN lang=EN-US >hc.setRequestMethod(HttpConnection.POST);</SPAN>
<SPAN lang=EN-US >hc.setRequestProperty(</SPAN><SPAN lang=EN-US >"Content-Type"</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >"text/plain"</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >out = hc.openOutputStream();</SPAN>
<SPAN lang=EN-US >PrintStream pout = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >PrintStream(out);</SPAN>
<SPAN lang=EN-US >pout.println(user);</SPAN>
<SPAN lang=EN-US >pout.println(pwd);</SPAN>
<SPAN lang=EN-US >pout.println(mEmail);</SPAN>
<SPAN lang=EN-US >pout.println(mMessage);</SPAN>
<SPAN lang=EN-US >InputStream in = hc.openInputStream();</SPAN>
<B><SPAN lang=EN-US >int </SPAN></B><SPAN lang=EN-US >length = (</SPAN><B><SPAN lang=EN-US >int</SPAN></B><SPAN lang=EN-US >)hc.getLength();</SPAN>
<B><SPAN lang=EN-US >if </SPAN></B><SPAN lang=EN-US >(length == -</SPAN><SPAN lang=EN-US >1</SPAN><SPAN lang=EN-US >) length = </SPAN><SPAN lang=EN-US >255</SPAN><SPAN lang=EN-US >;</SPAN>
<B><SPAN lang=EN-US >byte</SPAN></B><SPAN lang=EN-US >[] raw = </SPAN><B><SPAN lang=EN-US >new byte</SPAN></B><SPAN lang=EN-US >[length];</SPAN>
<SPAN lang=EN-US >in.read(raw);</SPAN>
<SPAN lang=EN-US >String s = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >String(raw);</SPAN>
<SPAN lang=EN-US >String codeString = s.substring(</SPAN><SPAN lang=EN-US >0</SPAN><SPAN lang=EN-US >, </SPAN><SPAN lang=EN-US >4</SPAN><SPAN lang=EN-US >).trim();</SPAN>
<SPAN lang=EN-US >responseMessage = s.substring(</SPAN><SPAN lang=EN-US >4</SPAN><SPAN lang=EN-US >).trim();</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >finally </SPAN></B><SPAN lang=EN-US >{</SPAN>
<B><SPAN lang=EN-US >if </SPAN></B><SPAN lang=EN-US >(hc != </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >) hc.close();</SPAN>
<B><SPAN lang=EN-US >if </SPAN></B><SPAN lang=EN-US >(out != </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >) out.close();</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >/*Servlet para enviar o e-mail*/</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >java.io.*;</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >java.text.*;</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >java.util.*;</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >javax.mail.*;</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >javax.mail.internet.*;</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >javax.servlet.http.*;</SPAN>
<B><SPAN lang=EN-US >import </SPAN></B><SPAN lang=EN-US >javax.servlet.*;</SPAN>
<B><SPAN lang=EN-US >public class </SPAN></B><SPAN lang=EN-US >SendMailServlet </SPAN><B><SPAN lang=EN-US >extends </SPAN></B><SPAN lang=EN-US >HttpServlet {</SPAN>
<B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >String mMailServer;</SPAN>
<B><SPAN lang=EN-US >private </SPAN></B><SPAN lang=EN-US >DateFormat mDateFormat;</SPAN>
<B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >init() {</SPAN>
<SPAN lang=EN-US >mMailServer = </SPAN><SPAN lang=EN-US >"SeuServidor.com"</SPAN><SPAN lang=EN-US >;</SPAN>
<SPAN lang=EN-US >mDateFormat = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >SimpleDateFormat(</SPAN><SPAN lang=EN-US >"yyyy.MM.dd HH:mm:ss"</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >}</SPAN>
<B><SPAN lang=EN-US >public void </SPAN></B><SPAN lang=EN-US >doPost(HttpServletRequest request,</SPAN>
<SPAN lang=EN-US >HttpServletResponse response) </SPAN><B><SPAN lang=EN-US >throws </SPAN></B><SPAN lang=EN-US >ServletException, </SPAN>
<SPAN lang=EN-US >IOException {</SPAN>
<SPAN lang=EN-US >BufferedReader in = request.getReader();</SPAN>
<SPAN lang=EN-US >String user = in.readLine();</SPAN>
<SPAN lang=EN-US >String pwd = in.readLine();</SPAN>
<SPAN lang=EN-US >String address = in.readLine();</SPAN>
<SPAN lang=EN-US >StringBuffer content = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >StringBuffer();</SPAN>
<SPAN lang=EN-US >String line = </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >;</SPAN>
<B><SPAN lang=EN-US >while </SPAN></B><SPAN lang=EN-US >((line = in.readLine()) != </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >) {</SPAN>
<SPAN lang=EN-US >content.append(line);</SPAN>
<SPAN lang=EN-US >content.append(</SPAN><SPAN lang=EN-US >'\n'</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >String message = </SPAN><SPAN lang=EN-US >"100 ok"</SPAN><SPAN lang=EN-US >;</SPAN>
<B><SPAN lang=EN-US >try </SPAN></B><SPAN lang=EN-US >{</SPAN>
<SPAN lang=EN-US >sendMail(mMailServer,user,pwd, address, content.toString());</SPAN>
<SPAN lang=EN-US >} </SPAN><B><SPAN lang=EN-US >catch </SPAN></B><SPAN lang=EN-US >(Throwable t) {</SPAN>
<SPAN lang=EN-US >message = </SPAN><SPAN lang=EN-US >"200 " </SPAN><SPAN lang=EN-US >+ t.toString();</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >response.setContentType(</SPAN><SPAN lang=EN-US >"text/plain"</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >response.setContentLength(message.length());</SPAN>
<SPAN lang=EN-US >PrintWriter out = response.getWriter();</SPAN>
<SPAN lang=EN-US >out.println(message);</SPAN>
<SPAN lang=EN-US >out.flush();</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US >/* Este método cria a mensagem e envia para o servidor*/</SPAN>
<B><SPAN lang=EN-US >private void </SPAN></B><SPAN lang=EN-US >sendMail(String server, String user, </SPAN>
<SPAN lang=EN-US >String pwd, String address, String content) </SPAN><B><SPAN lang=EN-US >throws </SPAN></B><SPAN lang=EN-US >Exception {</SPAN>
<SPAN lang=EN-US >Properties p = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >Properties();</SPAN>
<SPAN lang=EN-US >p.put(</SPAN><SPAN lang=EN-US >"mail.smtp.host"</SPAN><SPAN lang=EN-US >, server);</SPAN>
<SPAN lang=EN-US >Session s = Session.getDefaultInstance(p, </SPAN><B><SPAN lang=EN-US >null</SPAN></B><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >InternetAddress from = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >InternetAddress(user);</SPAN>
<SPAN lang=EN-US >InternetAddress to = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >InternetAddress(address);</SPAN>
<SPAN lang=EN-US >MimeMessage m = </SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >MimeMessage(s);</SPAN>
<SPAN lang=EN-US >m.setFrom(from);</SPAN>
<SPAN lang=EN-US >m.addRecipient(Message.RecipientType.TO, to);</SPAN>
<SPAN lang=EN-US >String now = mDateFormat.format(</SPAN><B><SPAN lang=EN-US >new </SPAN></B><SPAN lang=EN-US >java.util.Date());</SPAN>
<SPAN lang=EN-US >m.setSubject(</SPAN><SPAN lang=EN-US >"Mail from [" </SPAN><SPAN lang=EN-US >+ from + </SPAN><SPAN lang=EN-US >"]"</SPAN><SPAN lang=EN-US >);</SPAN>
<SPAN lang=EN-US >m.setText(content.toString());</SPAN>
<SPAN lang=EN-US >Transport.send(m);</SPAN>
<SPAN lang=EN-US >}</SPAN>
<SPAN lang=EN-US > </SPAN>
<SPAN lang=EN-US >}</SPAN>
|