Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It shouldn't ever be black holed, it should rejected in the SMTP transaction.

I'd love to never have to ask "did you get my email message?"



The problem is by the time the message is deemed to be spam it's too late to reject the mail.

Ie. The first step verifies the from/to addresses, then the message body is sent. So, if the message body is clearly spam and you reject the message body all you've done is confirmed to the spammer that they are sending to a legit email address and they need to change their message so it no longer is rejected as spam.

As bad as the current system is it leaves spammers with uncertainty over whether their message made it through the spam filter.


What's stopping spammers from just having a GMail account they can use to test if the message made it through?

I mean; I have to assume the engineers in charge of this @ Google are making the right call, but the cynic in me can't help but worry they are making the call in a way that benefits them at the cost of a healthier SMTP ecosystem. (ie, "Lets make email just unreliable enough that folks switch to Google Email 100%, or use some other Google Product for messaging ...")

You can reject the message anytime after TO/FROM/DATA w/o signaling which of those 3 caused it the message to be rejected.


> The problem is by the time the message is deemed to be spam it's too late to reject the mail.

That is incorrect. After the last DATA command from the spammer, your mail server can look at the mail and, if it’s spam, just say

  558 5.7.1 That mail is ugly and you are ugly
This rejects the mail and makes it bounce to the sender.


Yes, but unless that error is used frequently for other situations then it now becomes an obvious signal to spammers that their message has been flagged as spam.


Then use 550 instead.


The stuff he's talking about getting black-holed is conclusively spam; it's not stuff they're guessing about.


I don't agree. There are servers and domains that only send spam. There's no point in passing those through a computationally-expensive filter system; we already know they are spam.

> I'd love to never have to ask

Yeah, me too. But email is a best-efforts delivery system; email delivery can fail for reasons other than spam-filters.


You don't have to send it through the filter. You can decide @ accept() time that the message will rejected. If you intended to blackhole it; you were planning on burning bandwidth and letting the sender send their bytes entirely, and then responding "2xx OK, whatever"

Instead, just simply say "500 FOAD." after DATA and be done with it on the non-zero chance the sender actually has something important to say, and needs to decide if they need to use another channel.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: