【Heroku】FuelPHPでSendGridでメール送信

Herokuのadd-onsでSendGrid


$ composer require "sendgrid/sendgrid"

    // テストのためGETとかURLとかに入れた。本来ならPOSTに入れるべき
    // ついでにURLに入れても動かなかった
    //   /api/sendmail/to@example.com
    //   こんな感じにしても ".com" だけ消えた、驚き、どうでもいい
    public function get_sendmail($toadrr = 'to@exmaple.com'){
        if(!Input::get('email')){
            return;
        }

<pre><code>    $sendgrid = new SendGrid(getenv('SENDGRID_USERNAME'), getenv('SENDGRID_PASSWORD'));
    $email = new SendGrid\Email();
    $email->addTo(Input::get('email'))->
        setFrom(getenv('SENDGRID_USERNAME'))->
        setSubject('subject)->
        setText('hello world');

    try {
        var_dump($sendgrid->send($email));

        echo "Success!!";
        return;
    } catch(\SendGrid\Exception $e) {
        echo $e->getCode();
        foreach($e->getErrors() as $er) {
            echo $er;
        }
        return;
    }
}
</code></pre>

https://app.sendgrid.com/ へ入って左カラムの”Activity”でlogを確認できた

広告

【Heroku】FuelPHPをDeploy

追記: markdownモードが謎の文法解釈し始めてゴミみたいな記事が出来上がった、そのうち整形する
というかなんでSyntaxHightLightの中でmarkdownが効いてるのかわけわかめ、、、前使ってた時はそんな事なかったんですけどもー・・・

$ heroku create

$ echo 'web: vendor/bin/heroku-php-apache2 public/' > Procfile

<h1>--app APP<em>NAME は heroku createから入れば要らないはず。それっぽいワーニングが出たらとりあえず--app APP</em>NAMEする</h1>

$ heroku config:set BUILDPACK<em>URL=https://github.com/heroku/heroku-buildpack-php --app APP</em>NAME

$ heroku config:add TZ=Asia/Tokyo

$ heroku config:add FUEL_ENV=staging

$ heroku addons:add cleardb:ignite

<h1>登録できているか確認</h1>

$ heroku configs

<p>“`php
// fuel/app/config/staging/db.php
// 参考: https://www.tenpu.me/blog/2014/10/14/heroku-for-fuelphp/
<?php
$dbConfigPattern = '/mysql:\/\/(?:([^:^@]+)(?::([^@]+))?@)?([^:^\/]+)(?::(\d+))?\/([^?]+)/';
if (pregmatch($dbConfigPattern, $SERVER[“CLEARDBDATABASEURL”], $matches)) {
list($dbConfig, $dbuser, $dbpass, $dbhost, $dbport, $dbname) = $matches;

return array(
'default' => array(
        'connection'  => array(
            'dsn'        => 'mysql:host='.$dbhost.';dbname='.$dbname,
            'username'   => $dbuser,
            'password'   => $dbpass,
        ),
    ),
);

}

<br />

$ git init

composer.lockもcommitするよう編集する

$ vi .gitignore

$ git add .

$ git commit -m “initial commit”

$ git push heroku master

<br /><p>//=== 適当にModel作ってpush ===//</p>

<p>```
$ heroku run bash</p>

~$ php ./oil r migrate

もう色々やり過ぎて何が良くて悪かったのかよくわからない
あとhttpsだとcssが読み込めてなかった、未解決、今回はhttpで対応
正直気づいたらDeployできてた
あとManualDeployしただけじゃなくて、少し時間置く必要が? oil r migrateが時間を置いたら成功してわけわかめ