Puncte:1

Postfix + Dovecot, flux de execuție Sieve și răspuns automat

drapel in

Folosesc Postfix și Dovecot LMTP pe serverul meu. Întrebarea mea este cum creez o adresă de destinatar care renunță în tăcere și răspund la răspunsul automat? De asemenea, vreau să învăț fluxul de control al execuției Postfix și Dovecot. Aceasta face parte din Postfixul meu principal.cf:

alias_maps = hash:/etc/aliases

# Domenii virtuale
virtual_uid_maps = static:5000
virtual_gid_maps = static:5000
virtual_minimum_uid = 115
virtual_mailbox_base = /home/vmail
virtual_mailbox_maps = mysql:/etc/postfix/mysql/mailbox.cf
virtual_mailbox_domains = mysql:/etc/postfix/mysql/domains.cf
virtual_alias_maps = mysql:/etc/postfix/mysql/aliases.cf
virtual_transport = lmtp:unix:private/dovecot-lmtp

In al meu /etc/aliases:

devnull: /dev/null

În umila mea înțelegere, Postfix se ocupă de adresa destinatarului, există sau nu? Dacă adresa destinatarului a existat, atunci transportați la Dovecot LMTP pentru a gestiona livrarea locală. Este posibil transportul condiționat în Postfix? De exemplu, vreau să creez o adresă de e-mail de test, cum ar fi [email protected]. Care cont este alias devull. Scopul meu este destinatarul [email protected] a eliminat în tăcere e-mailurile primite și mesajul PONG de răspuns automat către expeditor în scopul testării. Dacă adresa destinatarului nu a fost [email protected] apoi transport la Dovecot-lmtp. Am încercat să folosesc pluginul de filtru Dovecot Sieve cu extensie de vacanță pentru a gestiona răspunsul automat. Dar în mail.log-ul sistemului meu:

# a înlocuit numele de domeniu actual cu DOMAIN

postfix/lmtp[13532]: 62EBD333697: to=<devnull@DOMAIN>, orig_to=<ping@DOMAIN>, relay=DOMEN[privat/dovecot-lmtp], delay=538, delays=538/0.02/0.44, dsn=5.1.1, status=bounced (gazdă DOMAIN[private/dovecot-lmtp] a spus:
 550 5.1.1 <devnull@DOMAIN> Utilizatorul nu există: devnull@DOMAIN (ca răspuns la comanda RCPT TO))

Deci, cred că pluginul de filtru Dovecot Sieve nu funcționează cu un cont care nu există. Este posibil să executați scriptul Sieve înainte de a verifica căsuța poștală a utilizatorului? Dacă da, nici nu trebuie să folosesc devull alias blackhole. Pot face asta în scriptul meu sieve ceva de genul:

dacă adresa: se potrivește cu „To” „ping@*” {
    concediu de odihna
        :secunde 1
        „PONG”;
    arunca;
}

ACTUALIZAT:

Am creat un utilizator numit ping în baza mea de date și am primit un e-mail de răspuns în contul meu GMail. Dar nu a fost chiar un e-mail de răspuns. Era un e-mail nou în căsuța mea de e-mail. Apoi am încercat să răspund manual folosind software-ul Apple mail GUI. Funcționează conform așteptărilor. Apoi merg la gmail și apăs pe meniu Afișați originalul.

De la Apple Mail mesaj-id partea de domeniu a fost domeniul virtual corect al expeditorului. Din Apple mail

Dar de la Dovecot/Sieve's mesaj-id partea de domeniu a fost a serverului meu nume de gazdă. Din vacanța de sită

Nu știu de ce se întâmplă.Dar cred că poate din cauză că numele de domeniu a fost schimbat? În exemplul de lucru din software-ul Apple Mail, a fost domeniul virtual corect al expeditorului. Dar din răspunsul automat sieve a fost schimbat numele de gazdă real al serverului meu.

Un alt jurnal Postfix de la /var/log/mail.log

postfix/cleanup[1329]: EE83F333699: message-id=<dovecot-sieve-1623257247-953496-0@HOSTNAME>

PS: Am doar câteva zile de experiență cu Postfix, Dovecot și câteva ore de experiență cu sieve script. Sunt atât de începător. Sper că întrebarea și scopul meu au fost suficient de clare. Întrebați-mă orice dacă aveți nevoie de mai multe informații.

drapel jp
Dom
Sita este folosită numai atunci când utilizatorul există pentru Postfix ȘI Dovecot. Aparent, Dovecot-ul tău nu cunoaște utilizatorul. Ați definit corect regula Sieve, așa că creați utilizatorul (sau configurați Dovecot să folosească aceeași DB ca postfix): va accepta e-mailul, va răspunde la vacanță și va renunța la e-mail. Uită-te și la buștenii de sită!
jeefo avatar
drapel in
Bună, Dom. Am creat un utilizator numit `ping` în baza mea de date, așa cum ați sugerat. Am primit răspuns când am trimis e-mail la `[email protected]`. Dar e-mailul meu de răspuns nu a fost într-adevăr e-mail de răspuns. Era de fapt e-mail nou în căsuța mea de e-mail. Cum pot obține un răspuns real folosind vacanța sieve?
drapel jp
Dom
Ați putea să vă actualizați întrebarea cu noul e-mail primit și cu jurnalele de sită/porumbei, vă rog?
jeefo avatar
drapel in
Îmi pare rău, nu am niciun fișier jurnal pentru Sieve. Nu am găsit cum să-l înregistrez la momentul respectiv. Pentru Dovecot am încercat să găsesc jurnalele utile executând comanda `sudo doveadm log find`. Majoritatea jurnalelor au fost îndreptate către `/var/log/mail.log`. Și nu a existat niciun jurnal util.BTW mi-am actualizat întrebarea pentru mai multe informații. Mulțumesc.
Puncte:0
drapel in

Am rezolvat-o adăugând abrevierea „Re:” înainte de șirul Subiect. Se pare că Gmail creează un nou istoric de conversație dacă subiectul este schimbat.

ID-ul mesajului nu era problema. De asemenea, nu am folosit Sieve concediu de odihna plugin pentru a răspunde. In schimb sieve_extprograms plug-in și apoi pipe-l la scriptul shell răsuci postați pe serverul meu NodeJS.

Puncte:0
drapel uz

De ce nu folosiți răspunsuri personalizate postfix? Nu sunt sigur dacă ID-ul mesajului va fi schimbat sau nu, dar încercați.

Pe main.cf, configurați smtpd_recipient_restrictions

 check_recipient_access hash:/cale/custom_replies

Apoi pe /path/custom_replies

[email protected] RESPINGERE Mesaj personalizat

Și faceți o hartă poștală la acel fișier

Salutari

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.