post by tommy @ 12 三月, 2007 08:25
首先, 最好每一台機器都去申請一個新的 MSN 帳號 (因為同一個帳號不能同時在兩台機器上登入, 先進去的好像會被後進去的踢出去), 反正申請帳號也不用什麼費用. 當然, 要收這個訊息的帳號, 記得要允許由這個新的帳號發送訊息才可以.
然後, 寫一個小的 php script 如下:
#!/usr/bin/php -Cq
<?php
error_reporting(0);
if (!isset($argc)) $argc = $_SERVER['argc'];
if (!isset($argv)) $argv = $_SERVER['argv'];
if ($argc != 3) {
echo "Syntax: $argv[0] to msg\n";
exit;
}
$aTo = explode(',', $argv[1]);
$sMsg = $argv[2];
$msn_acct = 'YOUR_MSN_ACCOUNT';
$msn_password = 'YOUR_MSN_PASSWORD';
include_once('msn.class.php');
$msn = new MSN;
if (!$msn->connect($msn_acct, $msn_password)) {
echo "Error for connect to MSN network\n";
echo "$msn->error\n";
exit;
}
$msn->sendMessage($sMsg, $aTo);
if ($msn->error != '')
echo "Error: $msn->error\n";
exit;
?>
上頭的 YOUR_MSN_ACCOUNT, YOUR_MSN_PASSWORD 設好後, 把這個檔案存成 msnsendmsg.php, 連同 msn.class.php 放到 /usr/local/bin 下頭. 記得把 msnsendmsg.php 加上可執行的屬性.
這樣子處理之後, 我們只要執行 msnsendmsg.php, 第一個參數是要接收這個訊息的使用者 (如果有多個, 以逗號分隔), 第二個參數就是要傳送的訊息 (用 UTF-8 編碼). 例如:
#!/bin/sh
msnsendmsg.php "[email protected],[email protected]" "Date: $(date)
Subject: Test
=================================================
測試 line 1
line 2
line 3
以下空白
結束
================================================="
exit
當然, 要送什麼內容就由你自己決定吧. 這樣子, 是不是很方便呢?