Qdmailを使ってCakePHP1.3.2のコンソールからメールを送信する

QdmailはCakePHPを初めとしたフレームワークで簡単にメールを作成・送信できるライブラリです。CakePHP1.2 で利用するサンプルは見つかったのですが、1.3で使っている例をあまり見かけず、少しつまづいたのでメモしておきます。

手順

  1. Qdmailをダウンロードし、/app/controllers/components に解凍する

  2. コンソールプログラムを下記のように作成する

// /app/vendors/shells/uso.php

<?php
class UsoShell extends Shell {
    // 使用するコア
    var $Controller;

    // 使用するコンポーネント
    var $Qdmail;

    // overrideしてcake起動メッセージを消す
    function startup() {}

    // 初期化処理
    function initialize() {
        parent::initialize();

        App::import("Core", "Controller");
        App::import("Component", "Qdmail");

        $this->Controller =& new Controller();
        $this->Qdmail =& new QdmailComponent(null);
        $this->Qdmail->startup($this->Controller);
    }

    // エントリーポイント
    function main() {

        // Qdmailの設定
        $this->Qdmail->to('to@uso.uso', '送信先の名前');
        $this->Qdmail->subject('件名');
        $this->Qdmail->from('from@uso.uso' , '送信元の名前');
        $this->Qdmail->text('本文');

        // 送信する
        $return = $this->Qdmail->send();
        $this->Qdmail->reset();

        if ($return) {
            $this->out("送信完了。");
        } else {
            $this->out("送信失敗...");
        }
    }
}
?>

補足

何が悪いのかよくわかりませんが、上のコードを実行すると「指定されたパスが見つかりません。」と表示されます。送信するぶんには問題ないのですが、気持ち悪いのでどうにか消せないか方法を探しています。

参考