Invio della posta con l'API Mail

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

Prima di iniziare

Registrare gli indirizzi email dei mittenti come mittenti autorizzati. Per ulteriori informazioni, vedi Chi può inviare email.

Invio di messaggi

In PHP 7/8, la funzione Mail di App Engine non è più sovraccarica per impostazione predefinita e deve essere abilitata in modo esplicito. Questo nuovo comportamento consente di riutilizzare la funzione Mail per soddisfare meglio le tue esigenze. Questa modifica ti consente anche di avere visibilità sull'implementazione attualmente in uso per tutte le chiamate di funzione Mail.

Se preferisci utilizzare la funzione PHP mail() nativa per inviare posta utilizzando l'API Mail di App Engine, puoi abilitarla nel file php.ini nel seguente modo:

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 dell'API Mail nella guida Accesso ai servizi in bundle legacy per PHP.