作者 主題: MySPAM, 我的廣告信管理程式  (閱讀 236082 次)

0 會員 與 1 訪客 正在閱讀本文。

unitnet

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #60 於: 2007-01-15 22:56 »
請問一下?
mysql 沒有BOOLEAN 選項 ??? Help

Ada

  • 懷疑的國中生
  • **
  • 文章數: 33
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #61 於: 2007-01-17 10:51 »
引述: "梁楓"
有問題
他沒說程式出處


到現在似乎仍未說明程式出處,沒有反制的方法嗎?

unitnet

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #62 於: 2007-01-26 14:46 »
Please help!!!

When I exec "send_notify.sh", I got the following error message. How can I do??????????????


<b>Warning</b>:  Smarty error: unable to read resource: "login.tpl" in <b>/usr/local/lib/php/Smarty/Smarty.class.php</b> on line <b>1095</b><br />

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5368
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
MySPAM, 我的廣告信管理程式
« 回覆 #63 於: 2007-06-11 10:01 »
轉自 http://blog.teatime.com.tw/1/post/246

MySPAM v0.0.4a 推出, 其實早在半年多前, 小張張就把他做的搜尋功能給我了, 不過... 我一直懶的去動, 直到昨天有人問我這件事... 才動手改了一下.

與前一版的差異說明如下:

    * ! 修正某些信件, 會標明使用 iso-8859-1 的編碼, 但裡頭不是英文. 造成解碼後的字串仍是亂碼. (目前針對 iso-8859-1, 如果不是英文字串, 會忽略這個編碼, 再嘗試用其他編碼去解碼.)
    * ! 修正 QP 編碼的處理.
    * ! 修正 iconv 錯誤的警告.
    * + 新增搜尋的功能. (感謝 小張張 http://phorum.study-area.org/profile.php?mode=viewprofile&u=756 提供)
    * ! 修正在 register_globals 為 on 的時候 (不建議使用), 無法正常使用的問題. (在程式一開始, 會先 unset $username, $password 兩個變數, 以避免在 register_globals 為 on 時, 誤用這兩個值.)


程式可以由這兒抓取: http://www.teatime.com.tw/~tommy/myspam/myspam-0.0.4a.tgz
或由這兒抓取最後一個版本: http://www.teatime.com.tw/~tommy/myspam/myspam.tgz
0.0.3 to 0.0.4a 的 patch: http://www.teatime.com.tw/~tommy/myspam/myspam_003_to_004a.patch

MySPAM 的說明請參考: MySPAM, 我的廣告信管理程式

mydarren

  • 可愛的小學生
  • *
  • 文章數: 20
    • 檢視個人資料
問題回報:
« 回覆 #64 於: 2007-06-11 13:21 »
更新到 MySPAM v0.0.4 發現 username 抓不到了

正常 login 後會出現如下
darren 的廣告信

現在無法出現如下 , 使用者名稱不見了
的廣告信


php 版本 4.4.xx 使用 MySPAM v0.0.3 一切正常

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5368
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
MySPAM, 我的廣告信管理程式
« 回覆 #65 於: 2007-06-11 14:52 »
0.0.4 跟 0.0.4a 的差異只在於 0.0.4a 可以在 register_globals on 的時候使用, 並且會把 $username, $password 在使用前都先清除, 再讀取 $_POST 裡頭的變數, 以避免直接使用時, 造成程式運作不正常. 也避免別人傳入這個變數就可以使用這個系統. 使用之前的版本, 且有把 register_globals 設為 on 的使用者, 請儘速升級到這個版本, 以避開這個安全性的問題. 不過.... 我還是認為, 應該是把 register_globals 關了才是正確的解決方法.

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #66 於: 2007-07-20 18:25 »
有人遇到這個問題嗎??

升級至0.0.4a後,
重送信件,
會收到未解碼的信.....

像這樣的.....
>From payment@msts.com.tw  Tue Jul 17 10:37:26 2007
Return-Path: <payment@msts.com.tw>
X-Original-To: tommy@abc.com.tw
Received: from esafe.com.tw (59-124-43-178.HINET-IP.hinet.net [59.124.43.178])
    by mail.abc.com.tw (Postfix) with ESMTP id 697BB9C00F3
    for <tommy@abc.com.tw>; Tue, 17 Jul 2007 10:37:18 +0800 (CST)
Received: from suntechweb [192.168.1.99] by esafe.com.tw with ESMTP
 (SMTPD-8.20) id AB4B02E4; Tue, 17 Jul 2007 10:36:59 +0800
以下省略

看起來像是信件的完全表頭跟內容,
在Openwebmail裡沒有被正確解碼.

我嚐試直接下載twu2大的0.0.4a解開後,
將先前升級過的config.php拷過去使用...
結果連登入面都變成空白頁....@@"

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #67 於: 2007-07-20 18:30 »
From tommy@abc.com.tw  Fri Jul 20 18:10:12 2007
Return-Path: <tommy@abc.com.tw>
X-Original-To: tommy@abc.com.tw
Delivered-To: tommy@abc.com.tw
Received: from abc.com.tw (localhost.localdomain [127.0.0.1])
    by mail.abc.com.tw (Postfix) with ESMTP id F12A29C00A8
    for <tommy@abc.com.tw>; Fri, 20 Jul 2007 18:10:11 +0800 (CST)
X-MySPAM: YES
Message-Id: <20070720101011.F12A29C00A8@mail.abc.com.tw>
Date: Fri, 20 Jul 2007 18:10:11 +0800 (CST)
From: tommy@abc.com.tw
To: undisclosed-recipients:;
X-yoursite-MailScanner-Information: Please contact the ISP for more information
X-yoursite-MailScanner: Found to be clean
X-yoursite-MailScanner-From: tommy@matchbank.com.tw
X-Spam-Status: No
Status: R

這個是上面那封信的完全表頭,
也就是上面的完全表頭加上
>From payment@msts.com.tw Tue Jul 17 10:37:26 2007
Return-Path: <payment@msts.com.tw>
X-Original-To: tommy@abc.com.tw
Received: from esafe.com.tw (59-124-43-178.HINET-IP.hinet.net [59.124.43.178])
by mail.abc.com.tw (Postfix) with ESMTP id 697BB9C00F3
for <tommy@abc.com.tw>; Tue, 17 Jul 2007 10:37:18 +0800 (CST)
Received: from suntechweb [192.168.1.99] by esafe.com.tw with ESMTP
(SMTPD-8.20) id AB4B02E4; Tue, 17 Jul 2007 10:36:59 +0800
以下省略

就是整封信件的完全內容.....

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5368
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
MySPAM, 我的廣告信管理程式
« 回覆 #68 於: 2007-07-20 19:17 »
剛剛試著重送一封看看, 並沒有這個問題.

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #69 於: 2007-07-20 22:12 »
感謝twu2回覆...

我在sendmail.php這支程式中的第80行

$lines = explode("\n", $data);

前面直接 echo $data;
有看到信件的內容

From payment@msts.com.tw Tue Jul 17 10:37:26 2007
以下省略

但是在重送後,
內容前面卻加了個>符號

>From payment@msts.com.tw Tue Jul 17 10:37:26 2007
以下省略

總覺得好像已經跟MySPAM無關了.....
變成可能是postfix或是MailScanner變更了內容...

真是頭大~~~~

以前的那個版本,我有曾試過重送是沒問題的....
twu2大還有舊版的MySPAM嗎??
可以讓我下載嗎......
 :oops:

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #70 於: 2007-07-20 22:24 »
不好意思....
twu2大~~~

我解決問題了.....

在sendmail.php裡的第79及80行,
原本是
fputs($smtp, "X-MySPAM: YES\n");
$lines = explode("\n", $data);
我改成
fputs($smtp, "X-MySPAM: YES\n ");
                                              ^-----這兒多個空白
$lines = explode("\n", $data);

就解決了......

為什麼會這樣......我也不知道......@@"
再次感謝twu2大~~~

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #71 於: 2007-07-20 22:25 »
fputs($smtp, "X-MySPAM: YES\n ");
           ^-----這兒多個空白
$lines = explode("\n", $data);

怪了...怎麼不能編輯原先Post的.....

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #72 於: 2007-07-20 22:27 »
fputs($smtp, "X-MySPAM: YES\n ");
YES\n的後面多一個空白
$lines = explode("\n", $data);

@@"

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5368
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
MySPAM, 我的廣告信管理程式
« 回覆 #73 於: 2007-07-21 08:38 »
照說 header 的第一個字元是空白, 應該表示是與上一行的 header 欄位的延續.
這樣應該是導致原本信件的第一行的 header 欄位變不見.

而你的原始信件, 第一行是 From xxx, 看起來並不是標準的信件 header (非 xxxx: xxx 的型式?), 也許是造成這個問題的原因吧.

我以前好像也看過 postfix 產生這類的信件, 不過在我目前的環境中, 用 postfix 寄出的信件, 第一行並不是 From xxxx, 而是 Return-Path: 這個 header.

你的改法對一般正常的信件, 可能反而會少了一個 header.

這個與 MySPAM 的版本應該沒什麼關係... 因為之前的版本這部份也是一樣的.
也許檢查原始信件的第一行, 如果不是正常的 header, 而是 from xxxx 之類的東西, 就把這行忽略掉吧.

cskp

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
有一個問題請教一下twu2大大
« 回覆 #74 於: 2007-09-05 09:30 »
目前我把myspam有關垃圾信通知程式的時間社設在12:30, 13:30後運作一段時間發現好像當垃圾信通知信執行時發生user在收發信時無法收到別人在寄信給他的信,請問如何處理 :o

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #75 於: 2007-09-05 10:52 »
那你先停掉廣告信通知的這支程式,
系統就正常了嗎???

因為twu2大的程式並不會去影響系統原有的發信機制,
建議你先停掉那支通知程式來觀察.

cskp

  • 可愛的小學生
  • *
  • 文章數: 13
    • 檢視個人資料
MySPAM, 我的廣告信管理程式
« 回覆 #76 於: 2007-09-06 09:39 »
那我試看看

jaymsa

  • 活潑的大學生
  • ***
  • 文章數: 409
  • 性別: 男
    • 檢視個人資料
    • Jay's Blog
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #77 於: 2007-12-25 09:40 »
各位好:
請問一下此程式所需要的架構是Postfix+Clamav+MailDrop嗎?如果我是用Postfix+F-Port+MailScanner+MailDrop可以使用嗎?該如何設定?昨天試了一下,結果不成功,還有一點是在郵件規則應該可以自訂以什麼欄位做為篩選(例如從什麼地方寄來的),但是我的無法設定,我只能設定單一規則,請問有人遇到相同問題嗎? ???
Linux真好玩...博大精深!!
RHCE,ISO27001,ISO20000
http://jayclub.no-ip.org/jayblog

z27722772

  • 可愛的小學生
  • *
  • 文章數: 5
    • 檢視個人資料
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #78 於: 2008-01-08 14:51 »
這個與 MySPAM 的版本應該沒什麼關係... 因為之前的版本這部份也是一樣的.
也許檢查原始信件的第一行, 如果不是正常的 header, 而是 from xxxx 之類的東西, 就把這行忽略掉吧.

我跟湯姆貓大大有同樣的問題,
信件重送後, 會多出 "> "
>From payment@msts.com.tw Tue Jul 17 10:37:26 2007

依twu2前輩的說法, 修改 sendmail.php 過濾第一行是  from xxxx 後, 已正常.
只是小弟不會PHP語法, 經過了4~5小時努力之後才改好,
但是不知道這樣的改法是否會有問題, 有沒有更好的寫法, 請大家指導, 謝謝!!

修改 sendmail.php 第81行
原程式碼
    foreach ($lines as $line) {
        if ($line == '') {
            $header = 0;
        }
        if ($header) {
            // avoid loop erro for postfix
            if (strncasecmp('Delivered-To:', $line, 13) == 0) continue;
        }
        if ($line == '.')
            fputs($smtp, "..\n");
        else
            fputs($smtp, $line."\n");
    }

改成
  foreach ($lines as $key=>$line) {
        if ($key == 0) {
           $pos = strpos($line, "From ");
           if ($pos >= 0) {
              continue;
           }
        }

        if ($line == '') {
            $header = 0;
        }
        if ($header) {
            // avoid loop erro for postfix
            if (strncasecmp('Delivered-To:', $line, 13) == 0) continue;
        }
        if ($line == '.')
            fputs($smtp, "..\n");
        else
            fputs($smtp, $line."\n");
    }


moveboy

  • 活潑的大學生
  • ***
  • 文章數: 222
    • 檢視個人資料
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #79 於: 2008-01-17 15:44 »
請問twu2 前輩是不是不能用MailScanner呢?如果可以的話要怎麼設呢?因為我設定好喔?卻無法用漲號密碼登入!
有出現網頁了!但是在http的error_log卻出現 Undefined index:  argv in /home/myspam/public_html/index.php on line 22, referer: http://192.168.0.221/myspam/index.php訊息!這是啥問題呢?

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #80 於: 2008-01-17 17:19 »
http://www.php.net/manual/en/ini.core.php#ini.register-argc-argv
上頭這個設為 true.
或者自己在前頭加上
$argc = $_SERVER['argc'];
$argv = $_SERVER['argv'];

@@"在同一則討論裡耶.....同學....你真的有用心看嗎??在第二頁.

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5368
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #81 於: 2008-01-17 17:29 »
如果你不是網管, 去問你的網管為什麼你的 php 沒有 $argv 或 $_SERVER['argv'] 變數吧.
如果你就是網管.... 那是看一下 php.ini 的內容, 找看看裡頭的設定那個跟這個有關吧. 如果找不到... 去 php.net 慢慢查文件吧.

PS. 其實我也不清楚是那一個設定造成的, 實在沒用過沒有 $_SERVER['argv'] 的 php 系統.

moveboy

  • 活潑的大學生
  • ***
  • 文章數: 222
    • 檢視個人資料
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #82 於: 2008-01-17 17:29 »

湯姆貓 前輩我不夠用心我自己罰站去!對不起!

moveboy

  • 活潑的大學生
  • ***
  • 文章數: 222
    • 檢視個人資料
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #83 於: 2008-01-17 22:39 »
恕刪.................
twu2前輩我的網頁也已經出現spam的網頁也在config.php設定好帳號密碼了!我看access_log也沒有出現上面的錯誤訊息了!但是還是無法登入說!請twu2前輩指點小第一下我那裡出了問題??
twu2前輩是我豬頭我這次去提水桶罰站!終於可以了!感謝各位前輩的提點!
« 上次編輯: 2008-01-18 00:03 由 moveboy »

moveboy

  • 活潑的大學生
  • ***
  • 文章數: 222
    • 檢視個人資料
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #84 於: 2008-01-21 09:39 »
twu2 前輩又跟您打擾了!我的主機已經架好了!有個疑問想跟您問一下!就是說目前我還在內部ip還沒有放上正式ip所以自然也沒有用dns
但是我要進入myspam網頁有時候用user可以進入無法進入是都會寫帳號密碼錯誤或郵件伺服器未開啟!是否是因為我還沒用dns的關係呢?我看http的error_log也已經沒有上述的錯誤訊息了!我的版本是Fedora7+postfix+MailScanner+clamav+procmailrc+vispam+myspam!
也確定mail 的25port及110port都有開啟了但是想測試可不可以進入帳號密碼卻都有時候無法進入!error_log也無錯誤訊息!


« 上次編輯: 2008-01-21 10:27 由 moveboy »

湯姆貓

  • 活潑的大學生
  • ***
  • 文章數: 475
    • 檢視個人資料
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #85 於: 2008-01-21 11:45 »
你可以先用本機的hosts檔案(Windows在windows\system32\drivers\etc目錄中,Linux在/etc目錄中)
設定該MySPAM主機的IP,
然後用domain的方式去開瀏覽器試.
« 上次編輯: 2008-01-21 11:47 由 湯姆貓 »

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5368
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #86 於: 2008-01-21 14:11 »
我跟湯姆貓大大有同樣的問題,
信件重送後, 會多出 "> "
>From payment@msts.com.tw Tue Jul 17 10:37:26 2007

依twu2前輩的說法, 修改 sendmail.php 過濾第一行是  from xxxx 後, 已正常.

不應該是去改 sendmail.php, 這部份只是用標準的 SMTP 去寄信. 只要源頭沒有問題, 這兒就不會有問題.

修改 save.php, 在 74 行左右, 開始讀取信件內容的部份, 原本應該是:
代碼: [選擇]
    $aHeader = array();
    $cnt = 0;
    while (feof($fp) == 0) {
        $buf = fgets($fp, 4096);
        if ($body) {
            $content .= $buf;
            continue;
        }
        if (strncasecmp('Delivered-To:', $buf, 13) == 0) continue;

改成:
代碼: [選擇]
    $aHeader = array();
    $cnt = 0;
    $first = true;
    while (feof($fp) == 0) {
        $buf = fgets($fp, 4096);
        if ($first) {
            $first = false;
            if (strncasecmp('From ', $buf, 5) == 0) continue;
        }
        if ($body) {
            $content .= $buf;
            continue;
        }
        if (strncasecmp('Delivered-To:', $buf, 13) == 0) continue;

這樣應該就不會把第一行的 'From ' 存起來, 再次寄出時就不會有問題了.

moveboy

  • 活潑的大學生
  • ***
  • 文章數: 222
    • 檢視個人資料
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #87 於: 2008-01-21 14:27 »
你可以先用本機的hosts檔案(Windows在windows\system32\drivers\etc目錄中,Linux在/etc目錄中)
設定該MySPAM主機的IP,
然後用domain的方式去開瀏覽器試.
好的我試試!感謝前輩指點

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5368
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #88 於: 2008-01-21 14:31 »
如果同一個 server 有多個 domain, 登入時是使用 user@domain 方式的話, 據反應似乎只有在發送 notfiy email 時會有問題.
可以在 notify.php 中檢查 $user 有包含 @ 時, 就不要再加上 domain. 在 85 行那兒, 把
代碼: [選擇]
$to = "$user@$mydomain";改成
代碼: [選擇]
if (strstr($user, '@'))
    $to = $user;
else
    $to = "$user@$mydomain";
就應該可以了.

moveboy

  • 活潑的大學生
  • ***
  • 文章數: 222
    • 檢視個人資料
回覆: MySPAM, 我的廣告信管理程式
« 回覆 #89 於: 2008-01-21 14:51 »
你可以先用本機的hosts檔案(Windows在windows\system32\drivers\etc目錄中,Linux在/etc目錄中)
設定該MySPAM主機的IP,
然後用domain的方式去開瀏覽器試.
好奇怪我又確定了一下doamin還是這樣說!我確信寄信沒問題!因為有寄到yahoo是可以寄信的!但是pop3我只有試user寄user
也是正常!但是要登入myspam又有時候正常大部份不正常比較多!但是又有試很多次可能有一次正常!訊息也沒啥錯誤訊息!搞不懂了說!
看起來不太像是domain的問題的感覺!還是前輩可否進來幫我看機器呢?如果您不忙的話啦!請指點一下小弟迷津!感謝前輩的指點了!