Enviar correio com a API Mail

Este guia descreve como usar a API Mail para enviar correio.

Antes de começar

Registe os seus emails de remetente como remetentes autorizados. Para mais informações, consulte quem pode enviar emails.

A enviar correio

No PHP 7/8, a função App Engine Mail já não está sobrecarregada por predefinição e tem de ser ativada explicitamente. Este novo comportamento permite-lhe reutilizar a função Mail para se adequar melhor às suas necessidades. Esta alteração também lhe permite ter visibilidade sobre qual a implementação que está a ser usada atualmente para todas as chamadas da função Mail.

Se preferir usar a função mail() nativa do PHP para enviar correio através da API Mail do App Engine, pode ativá-la no seu ficheiro php.ini da seguinte forma:

extension = mailparse.so
sendmail_path = "php ./vendor/google/appengine-php-sdk/src/Runtime/SendMail.php -t -i"

Em alternativa, pode fazer chamadas diretas para a 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';


Saiba mais sobre as considerações de migração para a API Mail no guia Aceder a serviços agrupados antigos para PHP.