Invio della posta con l'API Mail

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

Prima di iniziare

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

Invio della posta in corso...

In PHP 7/8, la funzione di posta di App Engine non è più sovraccaricata per impostazione predefinita e deve essere abilitata esplicitamente. Questo nuovo comportamento consente di riutilizzare la funzione di posta per adattarla meglio alle proprie esigenze. Questa modifica consente inoltre di avere visibilità sull'implementazione in uso per tutte le chiamate alle funzioni di posta.

Se preferisci utilizzare la funzione PHP nativa mail() per inviare la posta mediante 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 relative alla migrazione dell'API Mail, consulta la guida Accesso ai servizi in bundle legacy per PHP 7/8.