On 12/6/2012 5:26 PM, Dan Lists wrote:
> On Thu, Dec 6, 2012 at 5:09 PM, Noel Jones <njo...@megan.vbhcs.org> wrote:
>> On 12/6/2012 4:29 PM, Dan Lists wrote:
>>> We relay email for our customers.  They had some accounts Phished.  I
>>> wanted to hold email from those users so I could see the spam that was
>>> going out and requeue the valid email.
>>>
>>> In main.cf I have:
>>>
>>>  smtpd_sender_restrictions =
>>>         check_sender_access hash:$config_directory/sender_domains,
>>>         reject
>>>
>>> sender_domains has:
>>>
>>> u...@domain.tld      HOLD
>>> domain.tld               OK
>>>
>>> What u...@domain.tld sends email I get:
>>>
>>> Dec  6 16:14:26 mailserver postfix/smtpd[47661]: NOQUEUE: hold: RCPT
>>> from clientserv[12.34.56.78]: <u...@domain.tld>: Sender address
>>> triggers HOLD action; from=<u...@domain.tld> to=<re...@other.dom>
>>> proto=ESMTP helo=<clientserv>
>>> Dec  6 16:14:26 mailserver postfix/smtpd[47661]: NOQUEUE: reject: RCPT
>>> from clientserv[12.34.56.78]: 554 5.7.1 <u...@domain.tld>: Sender
>>> address rejected: Access denied; from=<u...@domain.tld>
>>> to=<re...@other.dom> proto=ESMTP helo=<clientserv>
>>>
>>> What am I doing wrong?
>>
>> Just a misconception...  HOLD does not immediately freeze the
>> message, nor does it instruct postfix to accept the message.
>> Processing continues and a later restriction can still reject the
>> message.
> 
> Interesting.  It worked when I did something similar in
> smtpd_client_restrictions.
> 
> smtpd_client_restrictions =
>     check_client_access hash:$config_directory/client_access
> 
> client_access:
>     12.34.56.78   HOLD
> 
> Is that because the smtpd_client_restrictions does not have reject listed?

If the message was accepted and placed on hold, then it didn't hit
any reject rules in any of the smtpd_*_restrictions, nor in
header/body checks.


> 
>> Probably the easiest solution here it to create your own HOLD_OK
>> action so it works as you expect.
>>
>> # main.cf
>> smtpd_restriction_classes =
>>   HOLD_OK
>>
>> HOLD_OK =
>>   reject_unauth_destination
>>   check_client_access static:hold
>>   permit
> 
> We are relaying for them, so I assume I would want to leave out
> reject_unauth_destinaion.

Yes, I was assuming it was internal mail.




  -- Noel Jones



> 
>>
>> Then, in your sender_domain file,
>> u...@domain.tld      HOLD_OK
>> domain.tld               OK
>>
>>
>>   -- Noel Jones

Reply via email to