くまきち

山と旅と家族が大事。
でも激しい物欲が理性と財布のタガを飛ばす
最近は自転車も乗ってる

添付ファイルをさくっと送るスクリプト

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

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

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



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); // 送信

?>

ENMA2

2008-09-01 11:10:00 | SEまわり
 あきらめきれず、makeエラーをに聞いてみたところ、gmakeを使えとの仰せ。

 やってみると、すんなり通った。

 あとは、インストールマニュアルに従って、PIDファイルの置き場所を用意して、設定ファイルをおいて、postfixのmain.cfを編集して…と進めていった。

 準備が終わって、テストしてみた。



 telnet localhost 25として、メールを送ってみたところ、下記のようなヘッダが追加されていた(FROM-ADDRは差出人メールアドレス)。

 
Authentication-Results: localhost; spf=none smtp.mailfrom=(FROM-ADDR); senderid=none header.From=(FROM-ADDR)


 同様に、gmailから送ってみると、ヘッダは下記のようになった。

 
Authentication-Results: localhost; spf=pass smtp.mailfrom=(FROM-ADDR); senderid=pass header.From=(FROM-ADDR)


メーラーのSPAM振り分けルールに追加して、しばらく使ってみる。



ENMA

2008-09-01 09:57:51 | SEまわり
IIJ、SPF/Sender ID実装用プログラムをオープンソースで公開 - @IT<dir> インターネットイニシアティブ(IIJ)は、既存のメールシステムに、スパムメール対策の1つである送信ドメイン認証技術「SPF/Sender ID」を実装するためのプログラム「ENMA」を開発し、8月27日にオープンソースソフトウェアとして無償で公開した。</dir>



 早速落としてきて、テスト環境(BIND 9.3.5-P2, postfix-2.5.4)でやってみようとしたが、libbindを作るところでisc/dst.hが見つからないという、なんだか基本的なところでこける。
 dst.hを探してきて、シンボリックリンク張ったりしたけど、今度はもっと意味不明なエラーが出てきて頓挫。

 あまり時間がなかったので、放棄。





 SPF/SenderIDや、ドメインキー認証について、ドメイン認証の普及率に対する測定結果(WIDEプロジェクト)を見ると、普及率は急速に上昇しつつあるらしい。
 .jpドメイン以外のについてはどうなんだろう…