Cita:
Iniciado por jomaruro
Hola:
No estaría mal que explicaras como lo has solucionado así también aprendemos un poco los demás.
Saludos.
![Adios](http://static.forosdelweb.com/fdwtheme/images/smilies/adios.gif)
Pues lo que hecho principalmente es editar el JAVA que se encarga de enviar el correo y el JSP donde esta el contenido del correo. Y lo he dejado así:
mailSender.java (dentro de un paquete llamado notas)
Código PHP:
package notas;
import java.util.Properties;
import java.util.Date;
import javax.mail.Session;
import javax.mail.Message;
import javax.mail.Transport;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.InternetAddress;
/**
* <p>
* Title: MailSender
* </p>
*
* <p>
* Description:
* </p>
*
* <p>
* Copyright: Copyright (c) 2005
* </p>
*
* <p>
* Company:
* </p>
*
* @author Fernando Arturi
* @version 1.0
*/
public class MailSender {
public MailSender() {
}
public boolean send(String hostSmtp, String senderAddress,
String toAddress, String subject, boolean isHTMLFormat,
String body, boolean debug) {
MimeMultipart multipart = new MimeMultipart();
Properties properties = new Properties();
properties.put("mail.smtp.host", hostSmtp);
Session session = Session.getDefaultInstance(properties, null);
session.setDebug(debug);
try {
MimeMessage msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(senderAddress));
msg.setRecipients(Message.RecipientType.TO, toAddress);
// msg.setRecipients(Message.RecipientType.CC, ccAddress);
// msg.setRecipients(Message.RecipientType.BCC, bccAddress);
msg.setSubject(subject);
msg.setSentDate(new Date());
// BODY
MimeBodyPart mbp = new MimeBodyPart();
if (isHTMLFormat) {
mbp.setContent(body.toString(), "text/html");
} else {
mbp.setText(body.toString());
}
multipart.addBodyPart(mbp);
msg.setContent(multipart);
Transport.send(msg);
} catch (Exception mex) {
System.out.println(">> MailSender.send() error = " + mex);
return false;
}
return true;
}
}
Este es el JAVA que se encarga de enviar el correo. lo que he modificado ha sido lo que esta línea:
Antes
Código:
public static boolean send(String hostSmtp, String senderAddress,
String toAddress, String subject, boolean isHTMLFormat,
StringBuffer body, boolean debug) {
Despúes
Código:
public boolean send(String hostSmtp, String senderAddress,
String toAddress, String subject, boolean isHTMLFormat,
String body, boolean debug) {
No entiendo muy bien lo de stringbuffer, pero dejando solo String a secas me ha permitido hacer concatenaciones en el JSP, de manera que le puedes agregar el contenido que quieras. Quizas esto es un poco básico, pero no es que me he puesto a mirar un manual, simplemente tocando...
Y luego este sería el JSP
encuesta.jsp (el formulario de encuesta, que al darle de boton de "enviar" visualiza los resultados de la encuesta y te manda el correo):
Código PHP:
<html>
<head>
<title>Encuesta</title>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<style type="text/css"></style>
<link rel="stylesheet" href="../css/style.css" type="text/css"/>
<script type="text/javascript" src="../js/script.js"></script>
</head>
<body onload="cambiarTitulo()">
<div class="contenido">
<div class="anuncio">Realiza la siguiente encuesta </div>
<form action="resultados_encuestaES.jsp" method="post">
<table class="box-table-encuesta" >
<colgroup>
<col class="box-first-encuesta" />
</colgroup>
<tr><td><input type="hidden" name="pregunta_1" value="Nombre de la empresa">Nombre de la empresa</td><td><input type="text" name="respuesta_1"></td></tr>
<tr><td><input type="hidden" name="pregunta_2" value="Nombre y Apellidos">Nombre y Apellidos</td><td><input type="text" name="respuesta_2"></td></tr>
<tr><td colspan="2"><input class="enviar" type="submit" value="Vista previa"></td></tr>
</table>
</form>
</div>
</body>
</html>
resultado_encuesta.jsp
Código:
<html>
<head>
<title>Resultados encuesta</title>
<style type="text/css"></style>
<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
<link rel="stylesheet" href="../css/style.css" type="text/css"/>
<script type="text/javascript" src="../js/script.js"></script>
</head>
<%@ page language="java" %>
<%@ page import = "notas.MailSender"%>
<body onload="cambiarTitulo()">
<div class="contenido">
<%
/*enviamos el mensaje */
MailSender ms = new MailSender();
boolean result = ms.send("smtp.dominio.com","[email protected]","[email protected]","Subject", true, "<b>" + "Prueba enío de correo" + "</b>" <-- EL CONTENIDO DE TU CORREO,true);
/*creamos la tabla */
int numero = 0;
String respuesta = request.getParameter("respuesta_" + numero);
String pregunta = request.getParameter("pregunta_" + numero);
out.print("<div class='formulario'>");
out.print("<div class='anuncio'> Resultado de la encuesta enviado a Soporte GSIS </div> <br/><br/>");
while (numero++ <2){
out.print("<div class='pregunta'>");
out.print(numero+ "." + request.getParameter("pregunta_" + numero));
out.print("</div><div class='respuesta'>");
out.print(request.getParameter("respuesta_" + numero));
out.print("</div>");
}
out.print("</div>");
%>
</div>
</body>
</html>
No se si me he explicado bien, si hay alguna duda por si algún dia le sirve a alguien esto, ya comentareis ^^
Saludos :)