You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ti...@yahoo.com.cn on 2007/06/15 07:20:26 UTC
Can james work with a close mailing list to anti-spam?
Hi, all:
Can james work with a close mailing list to anti-spam?
Recently I am tring to use James in a speical web project, and I want to develop some codes to make James server satisfy my requirement.
the detail are:
1) James server will act as a mailing list server, together with Mysql.(many mailing list account, assume one is test-mailing-list@test.com)
2) user can not subscribe one mailing list by sending email to mailing-list-email-address, the only way to subscribe is login a related web site,
and click some button. and the website will add this user (with a valid internet email address) to Mysql database.
3)When any one send email to any mailing list account, such as test-mailing-list@test.com, before receive the whole email, I want to check the email header, if the email-sender is not in the allow list, I want the server to reject the email.( send a feed back notice, or simply just drop this email), and not receive the whole email. In my bisiness logic, any email address that not in the allow list is a spam email, and the allow list will be cached in the memory so don't need to consider the allow-list-efficency.
4) when any one send a big email to any mailing list account, before receive the whole email, I want to check the email size, if it is bigger than what I want, I want the server to send a feedback notice "too big email", and not receive the whole email. (to save bandwidth).
Is it possible to update James server to satisfy above requirement?
if it is possible, which part of James-server can I begin with?
I know we can add a custom Mailet in the James server, but when the mailet is executed, although I can do above logic(like drop spam email), but it is a little late, because whole email already received by James and the bandwidth has been wasted.
Why I need such strange requirement is because:
In my project, there are many mailing list account, and each mailing list's traffic will be high, so I need to refuse all the unknown email address and too-big email to save bandwidth.
I hope any one can give me help or any ideas.
Thank you very much.
tingxuezheemail-zhuce
___________________________________________________________
抢注雅虎免费邮箱3.5G容量,20M附件!
http://cn.mail.yahoo.com
Re: Can james work with a close mailing list to anti-spam?
Posted by ti...@yahoo.com.cn.
hi, Norman :
Thank you very much for your quick and professional answers.
Your answers to issue 3 and issue 4 are really match my questions, I
will do some test later.
for issue1 and issue 2, I just list them to make things more clear, I
already know how to implement them.
Thank you and best wishes.
Norman <no...@apache.org> 写道:
tingxuezheemail-zhuce@yahoo.com.cn schrieb:
> Hi, all:
> Can james work with a close mailing list to anti-spam?
> Recently I am tring to use James in a speical web project, and I want to develop some codes to make James server satisfy my requirement.
>
> the detail are:
> 1) James server will act as a mailing list server, together with Mysql.(many mailing list account, assume one is test-mailing-list@test..com)
> 2) user can not subscribe one mailing list by sending email to mailing-list-email-address, the only way to subscribe is login a related web site,
> and click some button. and the website will add this user (with a valid internet email address) to Mysql database.
> 3)When any one send email to any mailing list account, such as test-mailing-list@test.com, before receive the whole email, I want to check the email header, if the email-sender is not in the allow list, I want the server to reject the email.( send a feed back notice, or simply just drop this email), and not receive the whole email. In my bisiness logic, any email address that not in the allow list is a spam email, and the allow list will be cached in the memory so don't need to consider the allow-list-efficency.
> 4) when any one send a big email to any mailing list account, before receive the whole email, I want to check the email size, if it is bigger than what I want, I want the server to send a feedback notice "too big email", and not receive the whole email. (to save bandwidth).
>
> Is it possible to update James server to satisfy above requirement?
> if it is possible, which part of James-server can I begin with?
>
> I know we can add a custom Mailet in the James server, but when the mailet is executed, although I can do above logic(like drop spam email), but it is a little late, because whole email already received by James and the bandwidth has been wasted.
>
> Why I need such strange requirement is because:
> In my project, there are many mailing list account, and each mailing list's traffic will be high, so I need to refuse all the unknown email address and too-big email to save bandwidth.
>
> I hope any one can give me help or any ideas.
>
> Thank you very much.
>
> tingxuezheemail-zhuce
>
>
Hi,
im not sure about 1 and 2 ( im never tried the ML features) but 3,4 are
possible. Like you said you can just create a costum mailet.
3) If you want to check it on the SMTP-level ( to safe bandwith etc.)
you could extend the org.apache.james.smtpserver.DataCmdHandler and use
a costum InputStream to parse the header as soon as possible.
4) I think this is allready possible by setting the mxmessage size in
the smtpserver config. If you need something special i whould look in
the org.apache.james.smtpserver.DataCmdHandler and the
org.apache.james.smtpserver.SizeLimitedInputStream
If its possible for you to receive it completly you could use a
implementation of org.apache.james.smtpserver.MessageHandler and plug in
this one in thesmtphandlerchain.
bye
Norman
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org
---------------------------------
雅虎免费邮箱-3.5G容量,20M附件
Re: Can james work with a close mailing list to anti-spam?
Posted by Norman <no...@apache.org>.
tingxuezheemail-zhuce@yahoo.com.cn schrieb:
> Hi, all:
> Can james work with a close mailing list to anti-spam?
> Recently I am tring to use James in a speical web project, and I want to develop some codes to make James server satisfy my requirement.
>
> the detail are:
> 1) James server will act as a mailing list server, together with Mysql.(many mailing list account, assume one is test-mailing-list@test..com)
> 2) user can not subscribe one mailing list by sending email to mailing-list-email-address, the only way to subscribe is login a related web site,
> and click some button. and the website will add this user (with a valid internet email address) to Mysql database.
> 3)When any one send email to any mailing list account, such as test-mailing-list@test.com, before receive the whole email, I want to check the email header, if the email-sender is not in the allow list, I want the server to reject the email.( send a feed back notice, or simply just drop this email), and not receive the whole email. In my bisiness logic, any email address that not in the allow list is a spam email, and the allow list will be cached in the memory so don't need to consider the allow-list-efficency.
> 4) when any one send a big email to any mailing list account, before receive the whole email, I want to check the email size, if it is bigger than what I want, I want the server to send a feedback notice "too big email", and not receive the whole email. (to save bandwidth).
>
> Is it possible to update James server to satisfy above requirement?
> if it is possible, which part of James-server can I begin with?
>
> I know we can add a custom Mailet in the James server, but when the mailet is executed, although I can do above logic(like drop spam email), but it is a little late, because whole email already received by James and the bandwidth has been wasted.
>
> Why I need such strange requirement is because:
> In my project, there are many mailing list account, and each mailing list's traffic will be high, so I need to refuse all the unknown email address and too-big email to save bandwidth.
>
> I hope any one can give me help or any ideas.
>
> Thank you very much.
>
> tingxuezheemail-zhuce
>
>
Hi,
im not sure about 1 and 2 ( im never tried the ML features) but 3,4 are
possible. Like you said you can just create a costum mailet.
3) If you want to check it on the SMTP-level ( to safe bandwith etc.)
you could extend the org.apache.james.smtpserver.DataCmdHandler and use
a costum InputStream to parse the header as soon as possible.
4) I think this is allready possible by setting the mxmessage size in
the smtpserver config. If you need something special i whould look in
the org.apache.james.smtpserver.DataCmdHandler and the
org.apache.james.smtpserver.SizeLimitedInputStream
If its possible for you to receive it completly you could use a
implementation of org.apache.james.smtpserver.MessageHandler and plug in
this one in thesmtphandlerchain.
bye
Norman
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org