Google Code disponible en: English - Español - 日本語 - 한국어 - Português - Pусский - 中文(简体) - 中文(繁體)
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.
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) {
// ...
}
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").
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 MIME | Extensiones de nombre de archivo | |
|---|---|---|
| image/x-ms-bmp | bmp | |
| text/css | css | |
| text/comma-separated-values | csv | |
| image/gif | gif | |
| text/html | htm html | |
| image/jpeg | jpeg jpg jpe | |
| application/pdf | ||
| image/png | png | |
| application/rss+xml | rss | |
| text/plain | text txt asc diff pot | |
| image/tiff | tiff tif | |
| image/vnd.wap.wbmp | wbmp | |
| text/calendar | ics | |
| text/x-vcard | vcf |
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.
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.
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:
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:
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 |