Como enviar e-mails com a API Mail

Este guia descreve como usar a API Mail para enviar e-mails.

Antes de começar

Registre os e-mails dos remetentes como remetentes autorizados. Para mais informações, veja quem pode enviar e-mails.

Como enviar e-mails

No PHP, a função de e-mail do App Engine não está mais sobrecarregada por padrão e precisa ser ativada explicitamente. Esse novo comportamento permite que você reutilize essa função para atender melhor às suas necessidades. Essa alteração também permite que você tenha visibilidade de qual implementação está sendo usada atualmente para todas as chamadas de função de e-mail.

Se você preferir usar a função nativa do PHP mail() para enviar e-mails usando a API Mail do App Engine, será possível ativá-la no arquivo php.ini da seguinte maneira:

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

Como alternativa, é possível 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 Como acessar serviços incluídos legados para PHP.