Envoyer des messages avec l'API Mail

Ce guide explique comment utiliser l'API Mail pour envoyer des e-mails.

Avant de commencer

Enregistrez vos adresses e-mail d'expéditeur en tant qu'expéditeurs autorisés. Pour obtenir plus d'informations, consultez la section Utilisateurs autorisés à envoyer des e-mails.

Envoyer des e-mails

Dans PHP 7/8, la fonction de messagerie d'App Engine n'est plus surchargée par défaut et doit être explicitement activée. Ce nouveau comportement vous permet de réutiliser la fonction de messagerie pour mieux répondre à vos besoins. Cette modification vous permet également de disposer d'une visibilité sur la mise en œuvre actuellement utilisée pour tous les appels de la fonction de messagerie.

Si vous préférez utiliser la fonction PHP mail() native pour envoyer des messages à l'aide de l'API Mail d'App Engine, vous pouvez l'activer dans votre fichier php.ini comme suit :

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

Sinon, vous pouvez appeler l'API Mail directement :


// 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';

Pour en savoir plus sur les considérations de migration pour l'API Mail, consultez le guide Accéder aux anciens services groupés pour PHP 7/8.