Puncte:0

Este Postfix From: adresa compatibilă cu RFC pentru joburile cron?

drapel cn

Am un server Ubuntu 18.04 cu Postfix configurat să trimită printr-o rețea locală de corespondență.

Doar atunci când un mesaj este generat de cron include următoarele în Din: antet:

De la: [email protected] (Cron Daemon)

Toate celelalte mesaje de la server sunt conform așteptărilor:

De la: [email protected]

Acest lucru cauzează o problemă pentru semnarea releului DKIM și pare să nu fie în conformitate cu RFC 5322. Citirea mea de 3.4 și Anexa A.5 este că adresa cel mai probabil ar trebui să fie:

De la: <[email protected]> (Cron Daemon)

Cu toate acestea, este posibil să înțeleg greșit RFC și există o altă problemă.

Iată configurația curentă, care este aproape configurația implicită „satelit” creată de postfix pachet:

postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
append_dot_mydomain = nr
biff = nu
compatibility_level = 2
inet_interfaces = doar loopback
inet_protocols = ipv4
cutie_poștală_size_limit = 0
mydestination = $myhostname, relayclient.example.com, localhost.example.com, localhost
myhostname = relayclient.example.com
rețelele mele = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
myorigin = /etc/mailname
readme_directory = nr
destinatar_delimiter = +
relayhost = 192.0.2.85
smtp_tls_security_level = mai
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtpd_use_tls = da

cat /etc/aliases:

# Vedeți aliasurile man 5 pentru format
postmaster: rădăcină
root: [email protected]

cat /etc/mailname:

relayclient.example.com
drapel jp
De ce crezi că este „în afara conformității cu RFC”?
Paul avatar
drapel cn
Înțeleg că [RFC 5322](https://www.rfc-editor.org/rfc/rfc5322.html#section-3.4) este că ar trebui să fie „Cron Daemon” , dar ar putea fi și `` sau `[email protected]`.
drapel jp
Verificați anexa RFC 5322 pentru exemple de comentarii.
Paul avatar
drapel cn
Tocmai am revizuit apendicele și se pare că toate exemplele sunt conforme cu înțelegerea mea actuală. Mi-a ratat cumva unul la care te gândești?
Paul avatar
drapel cn
@AlexD Bine, deci [A.5](https://www.rfc-editor.org/rfc/rfc5322.html#appendix-A.5) oferă exemple precum: `John (prietenul meu drag); (sfârșitul grupului)`, dar chiar și în acel exemplu adresa se află în ``, dar adresa din e-mailul generat din joburi cron nu este.
Nikita Kipriyanov avatar
drapel za
(...) este o parte „CFWS” din caietul de sarcini. Vezi [3.2.2. Folding White Space and Comments](https://www.rfc-editor.org/rfc/rfc5322.html#section-3.2.2)
Puncte:1
drapel za

Observați că specificațiile includ și comentarii:

Șirurile de caractere cuprinse între paranteze sunt considerate comentarii atâta timp cât ele nu apar într-un „șir de ghilimele”, așa cum este definit în secțiunea 3.2.4. Comentariile se pot imbrica.

Există mai multe locuri în această specificație unde comentarii și FWS poate fi introdus liber. Pentru a se potrivi acelei sintaxe, un suplimentar simbolul pentru „CFWS” este definit pentru locurile în care comentariile și/sau FWS pot apar.

EBNF (am omis jetoane nerelevante):

adresa = cutie poștală / grup
cutie poștală = name-addr / addr-spec
name-addr = [nume-afisare] angle-addr
angle-addr = [CFWS] "<" addr-spec ">" [CFWS] / obs-angle-addr
display-name = frază

FWS = ([*WSP CRLF] 1*WSP) / obs-FWS
ctext = %d33-39 / ; US-ASCII imprimabil
                    %d42-91 / ; personaje neincluzând
                    %d93-126 / ; „(”, „)” sau „\”
                    obs-ctext
ccontent = ctext / pereche citată / comentariu
comentariu = "(" *([FWS] cconținut) [FWS] ")"
CFWS = (1*([FWS] comentariu) [FWS]) / FWS

Înștiințare cometariu simbolul include paranteze literale, iar CFWS-ul ar putea fi acest comentariu (cu spații albe în jur) sau spațiul alb în sine. Această parte din parateză apare chiar la sfârșitul unghi-adresă simbol, unde comentariul este permis. Deci asta (Cron Daemon) este o CFWS, „comentați sau pliați spațiul alb” simbol și, prin urmare adresa așa cum este scrisă este pe deplin conformă cu specificațiile.

De asemenea, există o notă specială despre naked addr-spec cu cometariu:

Notă: Unele implementări vechi au folosit forma simplă în care addr-spec apare fără parantezele unghiulare, dar a inclus numele destinatarului între paranteze ca comentariu după addr-spec. Întrucât sensul informațiilor dintr-un comentariu este nespecificate, implementările TREBUIE să utilizeze forma completă nume-adresă a cutia poștală, în loc de formularul moștenit, pentru a specifica afișarea nume asociat cu o cutie poștală. De asemenea, pentru că ceva moștenire implementările interpretează comentariul, comentariile, în general, TREBUIE NU fie folosit în câmpurile de adresă pentru a evita confuzia implementari.

Paul avatar
drapel cn
Omule, este ceva ce îmi lipsește cu adevărat aici, pentru că când citesc că văd `[CFWS] "" [CFWS] / obs-angle-addr`, iar mesajele din joburile cron sunt mai degrabă ca `addr-spec [ CFWS]`, care nu mi se pare la fel.
drapel jp
Răspunsul real este în Nota despre formularul de adresă moștenit din secțiunea 3.4 din RFC 5322
Nikita Kipriyanov avatar
drapel za
Adevărat. Am citit greșit întrebarea. Cu toate acestea, nota respectivă răspunde exact la întrebare.
Paul avatar
drapel cn
Când afirmă „...numele destinatarului în paranteze” este `(Cron Daemon)` destinatarul? Se pare că demonul generează mesajul.
Nikita Kipriyanov avatar
drapel za
Și apoi: „... sensul informațiilor dintr-un comentariu este nespecificat...”. Cred că a fost doar o formulare proastă să numești acel lucru între paranteze „numele destinatarului” care a adăugat un sens neintenționat.
Paul avatar
drapel cn
Într-adevăr, pare prost formulat. Citind din nou, cred că înseamnă „unele implementări vechi [un exemplu de utilizare moștenită]...”.
drapel jp
@Paul utilizarea formatului `[email protected] (Nume persoană)` a fost obișnuită (`mutt` sau `mail` încă îl înțeleg), dar, din punct de vedere sintactic, conținutul din paranteze este doar un comentariu și utilizarea lui ca „Nume afișat”. ' al expeditorului sau destinatarului nu a fost specificat în standard.

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.