iredmail-doc/en_US/howto/2-quarantine.clean.mails.pe...

72 lines
2.1 KiB
Markdown
Raw Normal View History

# Quarantine clean emails sent from/to certain local user
Update [Amavisd config file](./file.locations.html#amavisd), ask it to listen on one additional network port
`10030` (you're free to use another port), and one additional `policy_bank`:
```
$inet_socket_port = [10024, 9998, 10030];
$interface_policy{'10030'} = 'QUARANTINE';
$policy_bank{'QUARANTINE'} = {
clean_quarantine_method => 'sql:',
final_destiny_maps_by_ccat => {CC_CLEAN, D_DISCARD},
};
$clean_quarantine_to = 'clean-quarantine';
```
Restart Amavisd service.
* Append below content to Postfix config file `/etc/postfix/master.cf`, ask
Postfix to listen on one additional network port `10026` (you're free to use
another port):
```
127.0.0.1:10026 inet n - - - - smtpd
-o content_filter=smtp-amavis:[127.0.0.1]:10030
-o recipient_bcc_maps=
-o sender_bcc_maps=
-o mynetworks_style=host
-o mynetworks=127.0.0.0/8
-o local_recipient_maps=
-o relay_recipient_maps=
-o strict_rfc821_envelopes=yes
-o smtp_tls_security_level=none
-o smtpd_tls_security_level=none
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_end_of_data_restrictions=
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checks,no_address_mappings
```
* Restart Postfix service.
```
service postfix restart
```
* To quarantine all emails sent from/to `user@domain.com`, set its per-user
transport to `smtp:[127.0.0.1]:10026`.
Now all emails sent from/to `user@domain.com` will be quarantined into SQL
database (specified in Amavisd config file, parameter `@storage_sql_dsn`).
Send an email to `user@domain.com` for testing:
```
# echo "mail body" | mail -s "test subject" user@domain.com
```
## See also
* [Quarantining](./quarantining.html)