使用 Mail API 发送邮件

本指南介绍如何使用 Mail API 发送邮件。

准备工作

将您的发件人电子邮件地址注册为已获授权的发件人。如需了解详情,请参阅谁可以发送电子邮件

发送邮件

在 PHP 7/8 中,App Engine 邮件功能默认不再过载,必须明确启用。通过这种新行为,您可以调整 Mail 函数的用途,以更好地满足您的需求。此变更还可让您了解当前正在用于所有邮件功能调用的实现。

如果您希望使用原生 PHP mail() 函数使用 App Engine Mail API 发送邮件,可以在 php.ini 文件中启用它,如下所示:

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

或者,您可以直接调用 Mail API:


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


如需详细了解 Mail API 的迁移注意事项,请参阅访问适用于 PHP 的旧版捆绑服务指南。