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