Come creare un'e-mail automatica in più lingue (multipart / alternative)?

7

Ho bisogno di inviare e-mail automatizzate ai clienti di cui non sono sicuro riguardo la lingua.

Il 90% è francese e probabilmente non sarebbe in grado di leggere la posta in inglese. L'altro 10% sarebbe probabilmente in grado di leggere in inglese e chiaramente non in francese.

Non so quale sia la loro lingua.

Ho studiato la multipart / alternativa che sembrava promettente, ho fornito al mailer diverse varianti e lui ha selezionato la migliore. (vedi: link )

Sfortunatamente nessun mailer sembra preoccuparsene, mostrano sempre l'ultima parte ...

qualcuno è riuscito a creare posta multilingue con selezione automatica della versione migliore per gli utenti?

C'è qualche tipo di trucco da sapere?

Hai un'altra soluzione?

    
posta siukurnin 14.03.2013 - 11:49
fonte

3 risposte

5

Inviamo email bilingue nel formato

<h1 lang="fr">*** La version française [follows] ***</h1>
<div lang="en">English text here</div>
<h1 lang="en">*** English version precedes ***</h1>
<div lang="fr">Texte français ici</div>

L'uso dell'attributo lang consente a uno screen reader di alternare correttamente le pronunce; l'uso delle intestazioni consentirà a uno screen reader di passare alla versione pertinente dell'email (entrambi suppongono il supporto nel client di posta).

link

    
risposta data 15.03.2013 - 16:16
fonte
8

La soluzione comune di cui sono a conoscenza per queste e-mail bilingue è di scriverle in questo modo:

For the English version, see below

<The text of the message in the local language>

==============

<The text of the message in English>

In questo modo, non dipendi dalle funzionalità del software di posta del destinatario.

La ragione per cui la lingua locale è la prima è perché è quello che la maggior parte dei destinatari comprenderà meglio (perché preoccuparsi di scrivere una versione in lingua locale se tutti comprendono abbastanza bene la versione inglese).

AGGIORNAMENTO: se stai inviando email in HTML, considera anche l'uso degli attributi della lingua, come spiegato in la risposta di Matt .

    
risposta data 14.03.2013 - 12:15
fonte
1

Ora esiste un tipo multipart MIME appositamente per questo scopo: multipart/multilingual , definito in RFC 8255 . Non so quanto sia ben supportato questo tipo dai client di posta, anche se ne ho trovato almeno uno che lo supporta: NeoMutt . Tuttavia, a causa del fallback per tipi multipart in sconosciuto a multipart/mixed , è dovrebbe essere possibile comporre già tali messaggi e averli supportati correttamente o visualizzati in modo equivalente a quanto descritto nel risposte di Matt e Bart , se i client di posta seguono gli standard ...

Per avere un'idea di ciò, consideriamo un esempio tratto da RFC (in qualche modo semplificato da me):

From: [email protected]
To: [email protected]
Subject: Example of a message in Spanish and English
Date: Thu, 7 Apr 2017 20:55:00 +0100
MIME-Version: 1.0
Content-Type: multipart/multilingual; boundary="01189998819991197253"

--01189998819991197253
Content-Type: text/plain; charset="UTF-8"
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

This is a message in multiple languages.  It says the same thing in each =
language.  If you can read it in one language, you can ignore the other =
translations. The other translations may be presented as attachments or =
grouped together.

Este es un mensaje en varios idiomas. Dice lo mismo en cada idioma. Si puede =
leerlo en un idioma, puede ignorar las otras traducciones. Las otras =
traducciones pueden presentarse como archivos adjuntos o agrupados.

--01189998819991197253
Content-Type: message/rfc822
Content-Language: en
Content-Translation-Type: original
Content-Disposition: inline

Subject: Example of a message in Spanish and English
Content-Type: multipart/alternative;
        boundary="72530118999911999881"; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0

--72530118999911999881
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

Hello, this message content is provided in your language.

--72530118999911999881
Content-Type: text/html; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

<html><body>Hello, this message content is <b>provided</b> in
<i>your</i> language.</body></html>

--72530118999911999881--

--01189998819991197253
Content-Type: message/rfc822
Content-Language: es
Content-Translation-Type: human
Content-Disposition: inline

Subject: =?UTF-8?Q?Ejemplo_pr=C3=A1ctico_de_mensaje_?=
=?UTF-8?Q?en_espa=C3=B1ol_e_ingl=C3=A9s?=
Content-Type: multipart/alternative;
        boundary="53011899989991197281"; charset="US-ASCII"
Content-Transfer-Encoding: 7bit
MIME-Version: 1.0

--53011899989991197281
Content-Type: text/plain; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

Hola, el contenido de este mensaje esta disponible en su idioma.

--53011899989991197281
Content-Type: text/html; charset="US-ASCII"
Content-Transfer-Encoding: 7bit

<html><body>Hola, el contenido de este <b>mensaje</b> <i>esta</i>
disponible en su idioma.</body></html>

--53011899989991197281--

--01189998819991197253--

Questo risultato per alcuni clienti che ho testato segue di seguito; non sono terribilmente incoraggianti. Ma prima vorrei sottolineare che per tutti questi client, quando viene aperto un allegato 'messaggio', fanno più o meno la cosa giusta. (Un problema con questo esempio è che mancano le intestazioni Date , From e To nei messaggi incapsulati, che possono essere risolti dal mittente.)

  • Trojitá (decente):

  • KMail(nonpuògestirepiùdiunmultipart/alternative?):

  • OutlookWebAccess(ignoraladirettivainline...):

risposta data 01.11.2018 - 14:52
fonte

Leggi altre domande sui tag