Invio di email con l'API Mail

Questa guida descrive come utilizzare l'API Mail per inviare email.

Prima di iniziare

Registra le email dei mittenti come mittenti autorizzati. Per ulteriori informazioni, consulta chi può inviare email.

Invio di email

In PHP 7/8, la funzione Mail di App Engine non è più sovraccaricata per impostazione predefinita e deve essere attivata esplicitamente. Questo nuovo comportamento ti consente di riutilizzare la funzione Mail per adattarla meglio alle tue esigenze. Questa modifica ti consente inoltre di avere visibilità su quale implementazione è attualmente in uso per tutte le chiamate alla funzione Mail.

Se preferisci utilizzare la funzione mail() PHP nativa per inviare email utilizzando l'API Mail di App Engine, puoi attivarla nel file php.ini come segue:

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

In alternativa, puoi effettuare chiamate dirette all'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';


Scopri di più sulle considerazioni sulla migrazione per l'API Mail nella guida Accedere ai servizi in bundle legacy per PHP.