FTPが使えない場所にあるサーバから、ファイルを取り出したいので作った。
何らかのテキストベースなメーラを起動すればいいのだろうが、
- 操作を覚えるのは面倒
- ファイルが送れさえすれば用が足りる
ので、コマンドでちょいちょいと使えるようにした。
PEARライブラリを使うので、
pear install Mail
pear install Mail_Mime
として、インストールしておく。
PEARのおかげで、簡単に作れます。
何らかのテキストベースなメーラを起動すればいいのだろうが、
- 操作を覚えるのは面倒
- ファイルが送れさえすれば用が足りる
ので、コマンドでちょいちょいと使えるようにした。
PEARライブラリを使うので、
pear install Mail
pear install Mail_Mime
として、インストールしておく。
PEARのおかげで、簡単に作れます。
#!/usr/local/bin/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); // 送信 ?> |