FTPが使えない場所にあるサーバから、ファイルを取り出したいので作った。
何らかのテキストベースなメーラを起動すればいいのだろうが、

- 操作を覚えるのは面倒
- ファイルが送れさえすれば用が足りる

ので、コマンドでちょいちょいと使えるようにした。



PEARライブラリを使うので、

 pear install Mail
 pear install Mail_Mime

として、インストールしておく。




 #!/usr/local/bin/php
 <?php
 
 // PEARライブラリ読込
 require_once('Mail.php');
 require_once('Mail/mime.php');
 
 // 引数チェック
 if ( $argc != 3 ) { die("Usege: attachmail <attach-file> <to-addr>\n"); }
 $file = $argv[1];
 if ( ! file_exists($file) ) { die("\"$file\" not found.\n"); }
 $toaddr = $argv[2];
 
 // body部作成
 $msg = "file"; // メール本文
 $mime = new Mail_mime("\n");
 $mime->setTxtBody($msg);
 $mime->addAttachment($file); // ファイル添付
 $param = array (
        'text_charset' => 'ISO-2022-JP',
        'head_charset' => 'ISO-2022-JP'
 );
 $body = $mime->get($param);
 
 // ヘッダ部作成
 $param = array (
        'host' => 'localhost',
        'port' => '25',
        'auth' => false
 );
 $header = array (
        'From' => 'user',  // 差出人
        'Subject' => 'file',
        'Content-Type' => 'text/plain; charset=ISO-2022-JP',
        'Content-Transfer-Encoding' => '7bit'
 );
 
 $mail = Mail::factory('mail');
 $mail->send($toaddr, $mime->headers($header), $body); // 送信
 
 ?>


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS