Как переместить спам в папку спама пользователя с помощью sa-exim и exim4?

Я установил и успешно настроил exim4 и sa-exim на моей установке Ubuntu LTS. Спам-сообщения успешно помечены:

X-SA-Exim-Connect-IP: 89.238.139.198
X-SA-Exim-Mail-From: hertaqcrqsaa@xxx
Subject: =?UTF-8?Q?F=C3=BCr_den_privaten_und_gesch=C3=A4ftlichen_Gebrauch:_=C3=B6konomische_LED-Lampen,_verbilligt?=
X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mail.root42.de
X-Spam-Flag: YES
X-Spam-Level: **********
X-Spam-Status: Yes, score=10.3 required=5.0 tests=BAYES_60,HTML_IMAGE_ONLY_20,
    HTML_MESSAGE,HTML_SHORT_LINK_IMG_3,RCVD_IN_SBL_CSS,SPF_PASS,
    T_DKIM_INVALID,URIBL_ABUSE_SURBL,URIBL_BLOCKED,URIBL_DBL_SPAM
    autolearn=no autolearn_force=no version=3.4.2
X-SA-Exim-Version: 4.2.1 (built Sun, 16 Aug 2015 09:47:16 +0000)
X-SA-Exim-Scanned: Yes (on xxx.xxxxxx.de)

Но, тем не менее, электронное письмо доставляется пользователю INBOX Maildir. Как я могу изменить это, чтобы перейти к .Spam Maildir пользователя?

0
задан 4 June 2019 в 16:15

2 ответа

Обнаружил это сам через превосходную Exim Wiki :

Прежде всего, вам нужно создать файл /etc/exim4/conf.d/router/899_exim4-config_local_user_spam с таким содержанием:

### router/900_exim4-config_local_user_spam                               
#################################                                         

# This router matches local user mailboxes. If the router fails, the error
# message is "Unknown user".                                              

local_user_spam:                                                          
  debug_print = "R: local_user_spam for $local_part@$domain"              
  driver = accept                                                         
  domains = +local_domains                                                
  check_local_user                                                        
  local_parts = !www:!root:!nobody:!postmaster:!abuse:!admin              
  transport = maildir_spam_delivery                                       
  condition = ${if def:h_X-Spam-Flag: {true}}                             
  cannot_route_message = Unknown user                                     

Это будет соответствовать ДО локального маршрутизатора пользователя, который имеет номер 900. Это гарантирует, что спам будет доставлен с использованием следующего транспорта.

Создайте транспорт в /etc/exim4/conf.d/transport/30_exim4-config_maildir_spam_delivery с таким содержимым:

### transport/30_exim4-config_maildir_spam_delivery                      
#################################                                        

# Use this instead of mail_spool if you want to to deliver to Maildir in 
# home-directory - change the definition of LOCAL_DELIVERY               
#                                                                        
maildir_spam_delivery:                                                   
  debug_print = "T: maildir_spam_delivery for $local_part@$domain"       
  driver = appendfile                                                    
  .ifdef MAILDIR_HOME_MAILDIR_LOCATION                                   
  directory = MAILDIR_HOME_MAILDIR_LOCATION/.Junk                        
  .else                                                                  
  directory = $home/Maildir/.Junk                                        
  .endif                                                                 
  .ifdef MAILDIR_HOME_CREATE_DIRECTORY                                   
  create_directory                                                       
  .endif                                                                 
  .ifdef MAILDIR_HOME_CREATE_FILE                                        
  create_file = MAILDIR_HOME_CREATE_FILE                                 
  .endif                                                                 
  delivery_date_add                                                      
  envelope_to_add                                                        
  return_path_add                                                        
  maildir_format                                                         
  .ifdef MAILDIR_HOME_DIRECTORY_MODE                                     
  directory_mode = MAILDIR_HOME_DIRECTORY_MODE                           
  .else                                                                  
  directory_mode = 0700                                                  
  .endif                                                                 
  .ifdef MAILDIR_HOME_MODE                                               
  mode = MAILDIR_HOME_MODE                                               
  .else                                                                  
  mode = 0600                                                            
  .endif                                                                 
  mode_fail_narrower = false                                             
  # This transport always chdirs to $home before trying to deliver. If   
  # $home is not accessible, this chdir fails and prevents delivery.     
  # If you are in a setup where home directories might not be            
  # accessible, uncomment the current_directory line below.              
  # current_directory = /                                                

Это в основном копия транспорта по умолчанию maildir_home, добавляющая только /.Junk к имени maildir.

Я уверен, что exim4 может сделать это немного более элегантно с некоторыми if и else, но мой exim foo пока недостаточно хорош. Любые профессионалы exim могут присоединиться к этому решению.

0
ответ дан 4 June 2019 в 16:15

Я не знаю, могут ли exim4 и sa-exim автоматически сделать это для вас. Кто-то другой может вмешаться в это.

Однако на компьютере пользователя в Thunderbird вы можете использовать Фильтры сообщений, чтобы перемещать спам-сообщения в папку спама. Создайте новый фильтр сообщений, например, так ... (если вы не хотите совпадать с X-Spam-Status, вы можете создать специальный флаг, например, X-Spam-Flag) ...

enter image description here

1
ответ дан 4 June 2019 в 16:15

Другие вопросы по тегам:

Похожие вопросы: