`enable_forwarded_emails` non si comporta come l'inoltro email convenzionale

enable_forwarded_emails is a great feature for bringing existing conversations into Discourse, but for users who approach Discourse with a “Mailman-mind” - as many users on our instance do - this feature just doesn’t do what they’re expecting it to.

Within every email client I’ve used, forwarding an email intentionally excludes the original email address from the forward, and subsequent replies. Whereas with this feature, that original email address is included in the created post and subsequent replies.

If this feature isn’t enabled, then Discourse strips the actual forwarded email, which also doesn’t work for us.

My thought is there should be an alternative feature which doesn’t strip the forwarded email and posts it like so:

Thought you all should see this:

---------- Forwarded message ---------
From: Example Person <person@example.com>
Date: Wed, 13 Mar 2019 at 15:11
Subject: An email to be forwarded
To: <some_discourse_user@example.com>

The original email

This would be a lot like the result of the always_show_trimmed_content setting, but with the trimmed content automatically expanded (and therefore visible in email notifications).

@zogstrip what are your thoughts here?

With just a little bit of rejigging of the code you’ve already written for enable_forwarded_emails I think what I want to see would be relatively easy - and that’s rejigging I’m happy to do.

Perhaps the solution here is to create a new multiple-choice site setting, something like:

forwarded_emails_behaviour:

  • hide (default)
  • show (the behaviour I’m advocating for here)
  • create_replies (the existing enable_forwarded_emails behaviour)
9 Mi Piace

I like that :+1:

PR at will :wink:

5 Mi Piace

Ci è voluto un po’, ma ecco la PR:

8 Mi Piace

Attualmente, questa impostazione offre le seguenti opzioni:

Quindi suppongo che l’opzione “mostra” sia diventata “cita”?

Inoltre, non capisco bene perché l’altra opzione si chiami “crea risposte”. Cosa significa? (o: cosa fa?)

Sì, poiché entrambe le altre opzioni “mostrano” l’email inoltrata, ma questa la cita nel post originale.

Dice esattamente quello che fa! :canned_food!: cercherà di analizzare l’email inoltrata, quindi creerà un utente temporaneo dal mittente originale dell’email inoltrata e pubblicherà l’email inoltrata come argomento originale, quindi qualsiasi testo incluso dall’inoltratore come risposta a quell’argomento (almeno è così che ricordo che funzionava).

4 Mi Piace

Ah, ora ho capito! È il testo che il forwarder include che diventa la risposta! Ma è esattamente una sola risposta. Perché dice di creare risposte?

Un altro motivo per cui la terminologia è un po’ confusa: sia “nascondi” che “cita” si riferiscono al testo inoltrato, mentre “crea risposte” si riferisce al commento del forwarder sul testo inoltrato. Quindi forse queste opzioni potrebbero essere chiarite in qualche modo dicendo:

  • nascondi email inoltrata
  • cita email inoltrata
  • pubblica email inoltrata con risposte

Mentre scrivo, mi chiedo se questa terza opzione sia davvero come funziona. Non credo che si sia mai comportata così per noi, ma d’altra parte non abbiamo molte email inoltrate, quindi non sono sicuro. Ha anche senso pubblicare il commento del forwarder come risposta? Non dovrebbe in qualche modo essere chiarito che l’email inoltrata è stata pubblicata dal forwarder? Questo non è affatto chiaro quando il forwarder sembra rispondere ad essa.

3 Mi Piace

Quindi sto usando l’impostazione quote e sicuramente non funziona come descritto. Forse ho ancora frainteso il comportamento previsto, ma questo sembra piuttosto chiaro:

e questo non è quello che sto ricevendo. Quindi lasciatemi essere più preciso su ciò che sto ricevendo: qualcuno ha inoltrato un’email iniziando con una breve nota come “Guarda questo” seguita dall’email inoltrata. L’email inoltrata includeva testo e due file PDF allegati. Il post mostrato sul forum era così:

Guarda questo!
Saluti,
Sara

document1.pdf
document2.pdf

Era tutto.

Quindi l’email inoltrata è stata completamente rimossa, tranne gli allegati. Sono riuscito a recuperarla manualmente ed era persino iniziata con ---------- Forwarded message ---------, quindi identificarla non avrebbe potuto essere più semplice…

Hmm, mi chiedo se gli allegati stiano creando problemi qui. Ecco come appaiono (correttamente) per me: https://discourse-dev.itsre-apps.mozit.cloud/t/fwd-email-to-site-feedback-support/24

3 Mi Piace

Okay, quello sembra esattamente come mi aspetterei. È bello vedere che funziona almeno in alcune circostanze. Ma la tua email includeva un allegato? Se no, sembra plausibile che Discourse sia confuso da (certi?) allegati.

Ho ancora problemi con la visualizzazione delle email inoltrate. Dato che ho almeno un’email con allegati che è stata correttamente resa, il mio sospetto è che il problema dipenda dal fatto che chi inoltra l’email abbia aggiunto qualcosa o meno. Da quanto posso vedere, le email inoltrate senza aggiungere testo sopra il messaggio inoltrato vengono visualizzate correttamente, ma se chi inoltra aggiunge qualcosa come “FYI”, nel post vengono inclusi solo gli allegati e non il testo dell’email inoltrata.

In altre parole, questo esempio continua a non funzionare (perché include “Pensavo che tutti dovreste vedere questo:”):

Invece del risultato sopra, questa email verrebbe visualizzata così:

Pensavo che tutti dovreste vedere questo:

E nient’altro.

Qualcuno può confermare se questo problema è specifico della mia istanza o se esiste anche altrove?

Si prega di verificare in particolare le email con allegati (ad esempio un file PDF), poiché è possibile che il problema si verifichi solo quando viene aggiunto del testo E c’è un allegato.

Anche io sono ancora confuso su cosa facciano queste diverse etichette/funzionalità — sto cercando di configurare la posta in arrivo da usare con il Plugin Tickets :tickets:, ma ottengo un comportamento incoerente.

Penso che il comportamento predefinito dovrebbe essere che qualsiasi cosa venga inoltrata diventi un post creato dall’utente (in fase di staging o regolare) che ha generato il messaggio. Il motivo per cui viene inoltrata sembra essere spesso che qualcuno che ha ricevuto il messaggio ha ritenuto che fosse meglio affrontarlo su Discourse, quindi sembra più appropriato che l’argomento venga avviato dall’autore dell’email, non da chi la inoltra.

(Ma forse i miei casi d’uso sono effettivamente casi limite…)

Dovrebbe funzionare così quando imposti enable_forwarded_emails su create_replies. L’email inoltrata diventerà il primo post e verrà creata una risposta se chi inoltra ha scritto del testo. In caso contrario, verrà creato un piccolo post di azione, in modo che sia chiaro chi ha inoltrato il primo post.

2 Mi Piace

OK, quindi penso di aver finalmente capito –

Se create_replies è il valore scelto per l’impostazione del sito forwarded emails behaviour, il messaggio originale diventa il post iniziale nel topic, e tutto ciò che viene scritto nell’email sopra il messaggio inoltrato diventa una risposta al topic sotto il messaggio di terze parti. :confused:

Q: Gli altri valori di questa impostazione del sito – ovvero hide o quote – elaborano solo il messaggio originale di terze parti e nient’altro?

Mi chiedo se il tentativo di separare queste “create replies” possa essere la causa di alcuni errori strani che ho notato quando invio cose da un client Microsoft Outlook.

PS: Mi chiedo, questa impostazione non meriterebbe forse una voce FAQ/guida da collegare dal testo descrittivo sotto l’impostazione del sito? Potrebbe essere solo una mia impressione, ma raramente sono stato così confuso da un’impostazione di Discourse negli ultimi 7 anni. O forse ho solo bisogno di più :coffee: :smile:

No. Riceverai un piccolo post di azione quando non c’è testo prima del messaggio inoltrato.

Credo che questa funzione sia ancora contrassegnata come sperimentale e c’è un buon motivo per questo. Le e-mail vengono solitamente inoltrate in linea. Questo rende piuttosto difficile estrarre l’e-mail inoltrata, perché ogni client inoltra le intestazioni dell’e-mail originale in modo diverso. Alcuni nascondono anche l’indirizzo e-mail dell’intestazione From originale o utilizzano intestazioni localizzate.

Dovrebbe funzionare molto meglio quando le e-mail vengono inoltrate come allegati invece che in linea (sono quasi certo che Discourse supporti questa funzionalità).

1 Mi Piace

Concordo sul fatto che sarebbe un modo molto più pulito per garantire un elaborazione corretta. Mi chiedo perché non riesca a far sì che Discourse elabori gli allegati quando lo faccio. (Il contenuto dell’allegato inoltrato arriva nel contenuto grezzo associato al post, ma viene visualizzato solo il “commento”, non l’originale inoltrato. Ancora una volta, almeno per MS Outlook; dovrò provare con altri client.)

1 Mi Piace

Forse non è stato implementato, dopo tutto? Non ho ancora guardato il codice. :blush:
Fammi sapere se funziona con altri client.

1 Mi Piace

I messaggi inoltrati inline vengono tagliati, sia con la modalità quote che con create_replies abilitate.

Avete qualche suggerimento?

Messaggio originale (alcuni intestazioni rimosse):

Da: Jeffrey Lastname <jeff@myemail.us>
A: test-cat@example.org
Oggetto: Fwd: Grazie per il vostro sostegno!
X-Mailer: MailMate (1.14r5745)
Content-Type: text/plain; format=flowed

Un esempio di testo molto lungo.

Messaggio inoltrato:

> Da: Team Donazioni <giving@example2.org>
> A: jeff@myemail.us
> Oggetto: Grazie per il vostro sostegno!
>
> Gentile Jeffrey,
>
> I nostri più sinceri ringraziamenti per la vostra donazione al Progetto Esempio, 
> specialmente in questo momento. Insieme scriveremo il futuro.

Messaggio nella bacheca del forum (uguale per entrambe le modalità):

Un esempio di testo molto lungo.

Messaggio inoltrato:

L’inoltro del messaggio come allegato non sembra funzionare nemmeno. Gli allegati eml vengono respinti. Se gli allegati eml sono autorizzati, nella modalità “create_replies”, viene allegato il file eml e il visitatore del forum ha la possibilità di scaricarlo.

C’è un modo per far sì che le notifiche via email mostrino il messaggio inoltrato?

Con

  • forwarded_emails_behaviour impostato su “quote” e
  • always_show_trimmed_content attivato,

il nostro sito Discourse (2.6.0, stabile) mostra l’email inoltrata esattamente come si desidera, una volta cliccati i tre puntini:

Tuttavia, la notifica via email omette completamente l’email inoltrata:

1 Mi Piace