2014-03-03 53 views
1

我可以使用Google的服務器向PHPMailer發送郵件。原來,發送郵件的限制是每天99個。所以我深入挖掘,發現我可以使用Google App Engine以每天1.7百萬的價格發送價格爲0.0001美元的電子郵件。如何用谷歌應用程序引擎發送郵件

我有一個運行CentOS的VPS,通過Putty(我有基本的Linux知識)和CPanel訪問。我安裝了Python和App Engine PHP SDK。 PHP版本是5.4.22。

我想用given example發送郵件,但我卡在第一行。雖然PHP文件中的public_html文件夾中,AppEngine上安裝外:

[email protected] [~]# 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' => '[email protected]', 
    'to' => '[email protected]', 
    '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 

此外, docs並不清楚我是否應該在Google Developer Console中做任何事情。我創建了一個項目,但我不知道如何處理它。我只想發送電子郵件。

任何人都可以指出我正確的方向,並告訴我如何使用此代碼?

+0

你試圖用一個絕對路徑? – Gordon

+3

你確實意識到SDK與生產運行不同,純粹是爲了本地測試和開發?無論如何,要運行SDK,您需要使用dev_appserver.py - 請遵循以下這些安全措施:https://developers.google.com/appengine/docs/php/gettingstarted/helloworld –

+0

不,我沒有意識到這一點。我看到了這個鏈接,它很少。我在哪裏放helloworld文件夾?順便說一句,如果SDK僅用於開發目的,那麼我應該如何使用應用程序引擎發送電子郵件? – erdomester

回答

3

我創建了一個簡單的Google App Engine - PHP - Mail API演示。

Github上庫:https://github.com/sasidhar/gae-php-mail

它工作正常使用默認設置。

希望這會有所幫助。

PHP代碼片段

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

try { 

    $message = new Message(); 
    $message->setSender("[email protected]"); 
    $message->addTo($email); 
    $message->setSubject($subject); 
    $message->setTextBody($mailBody); 
    $message->send(); 

    header("Location: /mail_sent"); 

} catch (InvalidArgumentException $e) { 

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