Tommy 碎碎念

Tommy Wu's blog

« 上一篇 | 下一篇 »

MySPAM v0.0.5
post by tommy @ 06 八月, 2008 13:48

MySPAM v0.0.5 推出. 其實也沒改到什麼, 這些修正好像都至少有半年了. 與前一版本的差異如下:

  • + 新增對同一主機多網域帳號的支援. 登入時請使用 user@domain 的方式登入即可.
  • ! 檢查信件第一行是否為 'From xxx@xxx.xxx.xx' 這個非 header 的內容 (某些 postfix 有這行?), 如有就略過.
  • ! 如果沒有 SIZE 環境變數, 就自行計算信件大小.
程式可以由這兒抓取: http://www.teatime.com.tw/~tommy/myspam/myspam-0.0.5.tgz
或由這兒抓取最後一個版本: http://www.teatime.com.tw/~tommy/myspam/myspam.tgz
0.0.4a to 0.0.5 的 patch: http://www.teatime.com.tw/~tommy/myspam/myspam_004a_to_005.patch  
Del.icio.us Furl HEMiDEMi Technorati MyShare
commons icon [1] Re:MySPAM v0.0.5 [ 回覆 ]

您好:
小弟發覺,config.php中所需要填寫的網址若有包含"-"符號時會無法使用,例如網址為xxx-xxx.com.tw時會無法使用,造成異常!請問一下這該如何解決?

commons icon [2] Re:MySPAM v0.0.5 [ 回覆 ]

是指 $spam_url 嗎?
什麼樣的異常呢?

commons icon [3] Re:MySPAM v0.0.5 [ 回覆 ]

是$smtp_server與$pop3_server這兩個網址中有出現"-"此符號時會無法連線,需改成用ip的方式才可以正常連線到主機做認證的動作.

commons icon [4] Re:MySPAM v0.0.5 [ 回覆 ]

我覺得可能是你的 DNS 有問題吧.
那個變數直接用來在 fsockopen() 中使用, 如果能正確的取得 IP 就應該沒有問題.
至少我試著在我這兒設定一個含 '-' 的網址, 是可以正常運作的.

commons icon [5] Re:MySPAM v0.0.5 [ 回覆 ]

您好:
小弟目前遇到個情形如下:
假設誤判的信件,我是勾選非廣告信,應該會被送到/var/spool/myspam/notspam中,但是我勾選之後跳出的訊息是"總共標示0封非廣告信(選擇一封)",我到該資料夾去看發現信沒有被送到notspam這方面我參考過Code,但我的路徑是對的?請問這是何種原因該怎麼 debug?

commons icon [6] Re:MySPAM v0.0.5 [ 回覆 ]

也許是權限不夠吧.
如果你會 php, 就自己加一些 log 來看處理到那邊有問題吧. 如果不會 php... 那我也不清楚要怎麼做了. 不過十之八九應該是因為權限的問題導致無法寫入.

commons icon [7] Re:MySPAM v0.0.5 [ 回覆 ]

您好:
感謝您...真是一語道破,小弟已經可以使用了.
小弟想請教一下,當mail-->mailscanner已經判別是否為spam,所以spam會被送到myspame中,不需要再做黑名單學習吧?而誤判的則可選擇再送回nospam學習?
那在spam中的mail是存放在那邊呢?各人的mail下嗎?還是程式中某個地方,小弟只是想更了解架構若遇到問題更容易debug!!此外重送不代表已經將信送到白名單吧!!

commons icon [8] Re:MySPAM v0.0.5 [ 回覆 ]

誤判的可送回 notspam 學習 (如果你有使用 spamassassin 的這個功能的話), 不過設為白名單會比較容易些.
spam 的 mail 存在 mysql 的資料庫內.
重送並不代表設為白名單.

commons icon [9] Re:MySPAM v0.0.5 [ 回覆 ]

感謝您:
您所謂的白名單是?MailScanner裡面手動設定嗎?
如果我是附件被判為spam或是病毒,就沒有辦法送到您的程式去判斷嗎?不知道未來有沒有這個可能?
小弟是使用PostFix+MailScanne+spamassassin+MailWatch+MySPAM

commons icon [10] Re:MySPAM v0.0.5 [ 回覆 ]

全域的白名單必須由管理員設定. (你用 MailScanner, 當然就是在這裡頭設定)
個人的白名單使用者可以在 MySPAM 裡頭自行設定. (自訂規則裡頭, 每個規則裡頭的條件是 AND, 不是 OR)

要不要送到 MySPAM 裡頭, 是你的 maildrop 或 procmail 的設定所決定的. 與 MySPAM 無關. MySPAM 本身只是個提供 web 介面的工具, 並不做任何判斷 (應該說只判斷個人自訂的那些規則).

commons icon [11] Re:MySPAM v0.0.5 [ 回覆 ]

您好:
感謝您...小弟知道意思了,最後還是透過procmail或maildrop去判斷關鍵字然後轉件吧?!

commons icon [12] Re:MySPAM v0.0.5 [ 回覆 ]

您好:

我是使用Sendmail + ProcMail + Myspam + Mailscanner + Watchmail
現在出現一個問題
當Mailscanner判斷是 spam 後, 就不將郵件傳給 Sendmail處理, 這樣就不會觸發 Procmail, 也就不會使用Myspam處理.

請問這要如何設定呢?

commons icon [13] Re:MySPAM v0.0.5 [ 回覆 ]

找到問題點了

mailscanner.conf有這麼一句

High Scoring Spam Actions = store

改成
High Scoring Spam Actions = deliver header "X-Spam-Status: Yes"

就OK了

commons icon [14] Re:MySPAM v0.0.5 [ 回覆 ]

請問放行時會再由spamassain再判斷一次
要如何讓已判斷過的直接略過spamassain check呢?

commons icon [15] Re:MySPAM v0.0.5 [ 回覆 ]

要看你的系統是怎麼規劃的.
一般用三明治的方式, 也就是 MTA -> Spamassassin (MailScanner/Amavisd) -> MTA 的方式.
可以直接把 MySPAM 的 smtp 設定指到第二個 MTA 上頭就不會再進去 Spamassassin 一次了.

commons icon [16] Re:MySPAM v0.0.5 [ 回覆 ]

您好不好意思,還有一個問題,就是我引用了大陸的Chinese_rule.cf for spamassain,結果好像是某些廣告信符合CN_BODY,結果header增加很大之緣故造成save.php 在 for ($i = 0; $i < $cnt; $i++)
$aHeader[$i]['value'] = find_decode_str($aHeader[$i]['value'], $txt_encoding);
這裡就突然中斷(打開debug發現的),系統出現kernel: pid 36054 (php), uid 500: exited on signal 11

commons icon [17] Re:MySPAM v0.0.5 [ 回覆 ]

有固定某封 email 一定會造成這個問題嗎?
照說 php 並不像 C 一樣, 字串長度在一開始就會有限制多少字元, 應該不會因為字串太長造成問題.

commons icon [18] Re:MySPAM v0.0.5 [ 回覆 ]

您好, 請問 MySPAM 是以何種 license 釋出的呢? tarball 裡面沒有附 LICENSE file, 文裡也沒提到, 應該不是 public domain 吧? :P

commons icon [19] Re:MySPAM v0.0.5 [ 回覆 ]

tarball 裡頭好像沒有提到授權方式. 在第一次發表的 blog http://blog.teatime.com.tw/1/post/52 中有提到是用 GPL 授權的.

commons icon [20] Re:MySPAM v0.0.5 [ 回覆 ]

您好:
小弟最近把作業系統升級成,CentOS 6.0,PHP 5.3.3 執行/var/www/html/myspam/send_notify.sh
會出現錯誤
PHP Deprecated: Function define_syslog_variables() is deprecated in /var/www/html/myspam/web/index.php on line 9
PHP Notice: function call 'clear_all_assign' is unknown or deprecated. in /var/www/html/myspam/web/libs/sysplugins/smarty_internal_wrapper.php on line 57

commons icon [21] Re:MySPAM v0.0.5 [ 回覆 ]

1. 不顯示那個訊息. (看是改 php.ini 還是該 function 前加上 @ 試看看)
2. 不執行那一行指令 (可能 syslog 相關的功能會不正常, 但也可能什麼事都沒有)
3. 把 syslog 相關的指令都移除吧.
4. 不管它.

自己選一個吧.

commons icon [22] Re:MySPAM v0.0.5 [ 回覆 ]

Tommy大~
許久後來請教一個問題,就是‥
這軟體有一個參數叫“Keep Days”,就是SPAM信保留多久後會清掉,我設定14‥結果~從2011年到現在,統統都還在~

因為不會SQL及PHP語法,你大概知道為什麼那參數會沒有Working嗎?

commons icon [23] Re:MySPAM v0.0.5 [ 回覆 ]

你有設定每天去寄通知信嗎? 刪除的動作是寫在那一段.

commons icon [24] Re:MySPAM v0.0.5 [ 回覆 ]

請問一下,在 phph 5.4 之後, 這個define_syslog_variables() 被拿掉了,導致myspam 無法使用,這該怎麼修改?

來源:
http://php.net/manual/en/function.define-syslog-variables.php

commons icon [25] Re:MySPAM v0.0.5 [ 回覆 ]

那一行拿掉就可以.
如果需要, 可以抓 0.0.6 回去用 (主要就是改 PHP7 的支援)
https://www.teatime.com.tw/~tommy/myspam/myspam-0.0.6.tgz

commons icon [26] Re:MySPAM v0.0.5 [ 回覆 ]

我用 0.0.5的版本,把 define_syslog_variables() 那行刪除,可以登入
myspam系統,但是會出現底下這兩行:

[Mon Jan 09 15:18:16.442510 2017] [:error] [pid 28230] [client 192.168.100.249:6668] PHP Notice: Trying to get property of non-object in /usr/share/roundcubemail/myspam/templates_c/2ca5c8a07b7e319bbcc0f939eb82ae65194ae509.file.list.tpl.php on line 334, referer: http://mail.my-domain.com/myspam/

[Mon Jan 09 15:19:07.392429 2017] [:error] [pid 28771] [client 192.168.100.249:6692] PHP Notice: Undefined index: argc in /usr/share/roundcubemail/myspam/index.php on line 21, referer: http://mail.my-domain.com/myspam/

-
我已經把 templates_c/ 權限設定成 777。

--
我的環境, CentOS 7 + php 5.4.16
-
如果裝 0.0.6 版,看不到登入畫面。

commons icon [27] Re:MySPAM v0.0.5 [ 回覆 ]

第二個問題很奇怪, 沒碰過 php 會說沒有 $_SERVER['argc'] 的. 可以試著在 php.ini 中打開 register_argc_argv 試看看 (打開會直接有 $argc, $argv 變數, 不用透過 $_SERVER 處理)
http://www.php.net/manual/en/ini.core.php#ini.register-argc-argv

第一個問題不清楚 (因為那是產生出來的 code, 我看不到內容), 也許是 smarty 的問題.

0.0.6 不能執行也許是 smarty 無法載入? 先確定 include 路徑有 smarty3/Smarty.class.php 吧. (改用 smarty3 的版本)

迴響
暱稱:
標題:
個人網頁:
電子郵件:
authimage

迴響

  

Bad Behavior 已經阻擋了 52 個過去 7 天試圖闖關的垃圾迴響與引用。
Power by LifeType. Template design by JamesHuang. Valid XHTML and CSS