Mis favoritos | Español | Acceder

Aspectos generales del API Java de correo

Las aplicaciones de App Engine pueden enviar mensajes de correo electrónico en nombre de los administradores de la aplicación y en nombre de los usuarios de Cuentas de Google. Las aplicaciones emplean el servicio de correo para enviar mensajes de correo electrónico.

Envío de correo con el API JavaMail

El API Java del servicio de correo admite la interfaz JavaMail (javax.mail) para el envío de mensajes de correo electrónico.

Al crear un objeto JavaMail Session, no es necesario proporcionar ninguna configuración del servidor SMTP. App Engine siempre utiliza el servicio de correo para el envío de mensajes.

import java.util.Properties;
import javax.mail.AddressException;
import javax.mail.InternetAddress;
import javax.mail.MessagingException;
import javax.mail.MimeMessage;
import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;

// ...
        Properties props = new Properties();
        Session session = Session.getDefaultInstance(props, null);

        String msgBody = "...";

        try {
            Message msg = new MimeMessage(session);
            msg.setFrom(new InternetAddress("admin@example.com"));
            msg.addRecipient(Message.RecipientType.TO,
                             new InternetAddress("user@example.com", "Mr. User"));
            msg.setSubject("Your Example.com account has been activated");
            msg.setText(msgBody);
            Transport.send(msg);
    
        } catch (AddressException e) {
            // ...
        } catch (MessagingException e) {
            // ...
        }

Mensajes de correo electrónico

El servicio de correo puede enviar mensajes de correo electrónico a uno o varios destinatarios. El mensaje contiene un asunto, un cuerpo del mensaje en texto sin formato y un cuerpo HTML opcional. También puede contener archivos adjuntos.

Por motivos de seguridad, la dirección del remitente de un mensaje debe ser la dirección de correo electrónico de un administrador de la aplicación o la dirección de correo electrónico de la cuenta de Google del usuario actual. La dirección de correo electrónico puede incluir una dirección de "respuesta", que también debe cumplir las restricciones mencionadas.

Si deseas enviar un correo electrónico en nombre de la aplicación pero no deseas utilizar un único personal administrador de la cuenta de Google como remitente, puedes crear una cuenta de Google nueva para la aplicación por medio de una dirección de correo electrónico válida y, a continuación, añadir la cuenta nueva como un administrador de la aplicación. Para añadir una cuenta como administrador, consulta la sección "Desarrolladores" de la consola de administración.

Puedes utilizar cualquier dirección de correo electrónico para un destinatario. El destinatario puede aparecer en los campos "Para" o "CC", o se puede ocultar del encabezado del mensaje en (como "copia oculta" o "CCO").

Archivos adjuntos

Un mensaje de correo electrónico puede contener cero o varios archivos adjuntos.

Un archivo adjunto tiene un nombre de archivo y datos de archivo. Los datos de archivo pueden proceder de cualquier fuente, por ejemplo, de una aplicación del archivo de datos o del almacén de datos. El tipo MIME del archivo adjunto viene determinado por el nombre del archivo.

Para preservar la seguridad del usuario, los archivos adjuntos a mensajes de correo electrónico deben pertenecer a uno de los tipos de archivo permitidos y tener un nombre de archivo cuya extensión corresponda a ese tipo.

A continuación se muestra una lista de tipos MIME y sus extensiones de nombre de archivo correspondientes permitidas para los archivos adjuntos a un mensaje de correo electrónico.

Tipo MIMEExtensiones de nombre de archivo
image/x-ms-bmpbmp
text/csscss
text/comma-separated-valuescsv
image/gifgif
text/htmlhtm html
image/jpegjpeg jpg jpe
application/pdfpdf
image/pngpng
application/rss+xmlrss
text/plaintext txt asc diff pot
image/tifftiff tif
image/vnd.wap.wbmpwbmp
text/calendarics
text/x-vcardvcf

Envío de correo

Cuando una aplicación ejecuta el servicio de correo para enviar un mensaje, el mensaje se pone en cola y la llamada vuelve inmediatamente. El servicio de correo emplea procedimientos estándar para ponerse en contacto con el servidor de correo de cada destinatario, entregar el mensaje e intentarlo de nuevo si no ha podido ponerse en contacto con dicho servidor.

Si el servicio de correo no puede entregar un mensaje o si el servidor de correo de un destinatario devuelve un mensaje devuelto (por ejemplo, si no existe cuenta para esa dirección en el sistema), el mensaje de error se enviará por correo electrónico a la dirección del remitente del mensaje. La aplicación en sí misma no recibe ninguna notificación sobre si la entrega se ha realizado con éxito o si se ha producido un error.

Correo y el servidor de desarrollo

Cuando una aplicación que se ejecuta en el servidor de desarrollo ejecuta el servicio de correo para enviar un mensaje de correo electrónico, el mensaje se imprime en el registro. El servidor de desarrollo Java no envía los mensajes de correo electrónico.

Cuotas y límites

Todas las solicitudes del servicio de correo se contabilizan en la cuota de llamadas al API de correo.

Todas las direcciones de correo electrónico de un destinatario para un mensaje de correo electrónico se contabilizan en la cuota de destinatarios de mensajes de correo electrónico (ajustable). Cada destinatario que es administrador de la aplicación también se contabiliza en la cuota de mensajes de correo electrónico enviados a administradores.

Los datos enviados en el cuerpo de un mensaje de correo electrónico se contabilizan en las cuotas siguientes:

  • Ancho de banda de salida (ajustable)
  • Datos del cuerpo del mensaje enviados

Todos los archivos adjuntos incluidos en un mensaje de correo electrónico se contabilizan en la cuota de archivos adjuntos enviados.

Los datos enviados como archivo adjunto en un mensaje de correo electrónico se contabilizan en las cuotas siguientes:

  • Ancho de banda de salida (ajustable)
  • Datos de archivo adjunto enviados

Para obtener más información sobre cuotas, consulta la sección Cuotas y la sección "Detalles de cuota" de la consola de administración.

Además de las cuotas, se aplican los siguientes límites al uso del servicio de correo:

Límite Valor
tamaño máximo del mensaje, incluidos los archivos adjuntos 1 megabyte
tamaño máximo del mensaje cuando el administrador es destinatario 16 kilobytes