En esta guía se describe cómo usar la API Mail para enviar correos.
Antes de empezar
Registra tus correos de remitente como remitentes autorizados. Para obtener más información, consulta quién puede enviar correos.
Enviar correo
En PHP 7/8, la función de correo de App Engine ya no está sobrecargada de forma predeterminada y debe habilitarse explícitamente. Este nuevo comportamiento te permite reutilizar la función de correo para que se adapte mejor a tus necesidades. Este cambio también te permite ver qué implementación se está usando en todas las llamadas a la función Mail.
Si prefieres usar la función nativa de PHP mail()
para enviar correos con la API Mail de App Engine, puedes habilitarla en tu archivo php.ini
de la siguiente manera:
extension = mailparse.so
sendmail_path = "php ./vendor/google/appengine-php-sdk/src/Runtime/SendMail.php -t -i"
También puedes hacer llamadas directas a la API Mail:
// Notice that $image_content_id is the optional Content-ID header value of the
// attachment. Must be enclosed by angle brackets (<>)
$image_content_id = '<image-content-id>';
// Pull in the raw file data of the image file to attach it to the message.
$image_data = file_get_contents('image.jpg');
try {
$message = new Message();
$message->setSender('from@example.com');
$message->addTo('to@example.com');
$message->setSubject('Example email');
$message->setTextBody('Hello, world!');
$message->addAttachment('image.jpg', $image_data, $image_content_id);
$message->send();
echo 'Mail Sent';
} catch (InvalidArgumentException $e) {
echo 'There was an error';
Consulta más información sobre las consideraciones de migración de la API Mail en la guía Acceder a servicios antiguos agrupados para PHP.