Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/01/2013, 04:55
ProgramadorJunior
 
Fecha de Ingreso: junio-2012
Ubicación: Cerca del mar
Mensajes: 19
Antigüedad: 11 años, 10 meses
Puntos: 0
Tamaño máximo de mensaje con Javamail

Hola,
Estoy utilizando javamail para enviar correos en lo que se pueden adjuntar archivos.
En uno de estos correos con varios archivos adjuntos de gran peso me ha saltado esta excepción:
Código:
com.sun.mail.smtp.SMTPSendFailedException: 552 5.3.4 Error: message file too big

	at com.sun.mail.smtp.SMTPTransport.issueSendCommand(SMTPTransport.java:1829)
	at com.sun.mail.smtp.SMTPTransport.finishData(SMTPTransport.java:1634)
	at com.sun.mail.smtp.SMTPTransport.sendMessage(SMTPTransport.java:889)
	at org.sts.recursosComunes.utilidades.funciones.EnviarCorreo(funciones.java:1049)
	at org.sts.Pyme.PantallasZul.IncidenciasyTareas.SeguimientoIncidencias.MaestroTareas.EnviarCorreo(MaestroTareas.java:7731)
	at org.sts.Pyme.PantallasZul.IncidenciasyTareas.SeguimientoIncidencias.MaestroTareas.onClick$BTPublicarNotificar(MaestroTareas.java:8316)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.lang.reflect.Method.invoke(Unknown Source)
	at org.zkoss.zk.ui.event.GenericEventListener.onEvent(GenericEventListener.java:88)
	at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:2734)
	at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2705)
	at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2646)
	at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:136)
	at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:534)
	at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.sendEvent(EventProcessingThreadImpl.java:126)
	at org.zkoss.zk.ui.event.Events.sendEvent(Events.java:321)
	at org.zkoss.zk.ui.event.Events.sendEvent(Events.java:331)
	at org.zkoss.zk.ui.AbstractComponent$ForwardListener.onEvent(AbstractComponent.java:3172)
	at org.zkoss.zk.ui.AbstractComponent.onEvent(AbstractComponent.java:2734)
	at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2705)
	at org.zkoss.zk.ui.AbstractComponent.service(AbstractComponent.java:2646)
	at org.zkoss.zk.ui.impl.EventProcessor.process(EventProcessor.java:136)
	at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.process0(EventProcessingThreadImpl.java:534)
	at org.zkoss.zk.ui.impl.EventProcessingThreadImpl.run(EventProcessingThreadImpl.java:461)
Según me ha parecido leer javamail no tiene un limite de tamaño para el envío de emails pero puede ser que el servidor smtp si lo tenga.
Hay alguna manera de saber cual es el máximo tamaño permitido al enviar un email?

Por cierto, este es el código que utilizo para enviar los correos:
Código:
// Propiedades para la conexión con el servidor de envío
Properties props = new Properties();
props.put("mail.smtp.host",servidorCorreoSMTP); // Servidor de correro externo
props.put("mail.smtp.starttls.enable", "true");
props.put("mail.smtp.mail.sender",sDe);
props.put("mail.smtp.user", usuarioServidor);
props.put("mail.smtp.auth", "true");
props.setProperty("mail.smtp.ssl.trust", servidorCorreoSMTP);
props.put("mail.smtp.port", puerto);
Session session = Session.getDefaultInstance(props);
Multipart multiParte = new MimeMultipart();
BodyPart textoPlantilla = new MimeBodyPart();
textoPlantilla.setContent(contenido, "text/html");
multiParte.addBodyPart(textoPlantilla);
// Documentos adjuntos
if (!(listaAdjuntos == null)) {
        //Recorremos los documentos adjuntos
	for (I = 1; I <= listaAdjuntos.count() + 1; I++) {
                //Obtenemos el documento
		if (!listaAdjuntos.extract(I, 1).toString().equals("")) {
			MimeBodyPart adjunto = new MimeBodyPart();
			adjunto.attachFile(listaAdjuntos.extract(I, 1).toString());
			multiParte.addBodyPart(adjunto); // Añadimos
		}
	}
}
// Mensaje en si
Message message = new MimeMessage(session);
//Al constructor InternetAddress tenemos que pasarle una dirección de email y, opcionalmente,
//un nombre que aparecerá como From o como To
// De
message.setFrom(new InternetAddress((String) props.get("mail.smtp.mail.sender"),nombreRemitente));
// Lista de a quién va dirigido el correo
if (!(ListaPara == null)) {
	for (I = 1; I <= ListaPara.count(1) + 1; I++) {
		message.addRecipient(Message.RecipientType.TO,new InternetAddress(ListaPara.extract(1, I).toString()));
	}
	message.setSubject(sAsunto); // Asunto
	// Añadimos todo el contenido multiparte
	message.setContent(multiParte);
	// Enviamos
	Transport t = session.getTransport("smtp");
	t.connect((String) props.get("mail.smtp.user"), PasswordServidor);
	t.sendMessage(message, message.getAllRecipients());
	t.close();
}
Gracias!