如何使用谷歌应用引擎发送邮件

时间:2014-03-03 19:40:46

标签: php google-app-engine

我可以使用Google的服务器通过PHPMailer发送邮件。事实证明,发送的电子邮件的限制是99 /天。所以我深入挖掘并发现我可以使用Google App Engine以0.000美元/天的限制发送0.0001美元的电子邮件。

我有一个运行CentOS的VPS,我通过Putty(我有基本的linux知识)和CPanel访问。我安装了Python和App Engine PHP SDK。 PHP版本是5.4.22。

我想用given example发送邮件,但我被困在第一行。当php文件位于public_html文件夹中时,appengine安装在外面:

root@server1 [~]# locate Message.php
/root/google_appengine/php/sdk/google/appengine/api/mail/Message.php

代码:

<?php
require_once 'google/appengine/api/mail/Message.php';
use google\appengine\api\mail\Message;

$message_body = 'Hello. This is the body of the message.';

$mail_options = [
  'sender' => 'support@mycompany.com',
  'to' => 'myname@gmail.com',
  'subject' => 'Your account has been activated.',
  'textBody' => $message_body
];

try {
  $message = new Message($mail_options);
  $message->send();
} catch (InvalidArgumentException $e) {
    echo 'error: ';
}
?>

所以我得到了明显的错误:

Warning: require_once(google/appengine/api/mail/Message.php): failed to open stream: No such file or directory in /home/mycompany/public_html/test_googleappsmail.php on line 2

此外,如果我应该在Google Developer Console中执行任何操作,那么文档就不清楚了。我创建了一个项目,但我不知道该怎么做。我只想发送电子邮件。

有人能指出我正确的方向并告诉我如何使用这段代码吗?

1 个答案:

答案 0 :(得分:3)

我创建了一个简单的Google App Engine演示 - PHP - Mail API。

Github存储库:https://github.com/sasidhar/gae-php-mail

使用默认设置工作正常。

希望这有帮助。

PHP Code Snippet

use \google\appengine\api\mail\Message;

try {

    $message = new Message();
    $message->setSender("sasidhar@sasidhar.com");
    $message->addTo($email);
    $message->setSubject($subject);
    $message->setTextBody($mailBody);
    $message->send();

    header("Location: /mail_sent");

} catch (InvalidArgumentException $e) {

    $error = "Unable to send mail. $e";
}