Se abiliti i visitatori del tuo sito Web a inviarti un'email tramite un collegamento mailto:, hai fornito loro un modo particolarmente conveniente per stabilire un contatto. Tutto quello che devono fare è cliccare e iniziare a digitare il loro messaggio.
Ma questa convenienza non è tutto il potente mailto: ha in serbo. Supponiamo che tu voglia definire un Oggetto predefinito, ad esempio, in modo che tu sappia che l'email è stata inviata tramite il link mailto: sul tuo sito web. O forse vuoi suggerire un testo predefinito per il corpo se i visitatori cliccano su un particolare link (puoi usarlo per creare un semplice sondaggio, per esempio).
Scopriamo come questi avanzano, ma in nessun modo gli usi difficili di mailto: funzionano.
Il Mailto: URL
Un URL mailto consiste fondamentalmente in tre parti. Prima viene:
- La parola mailto: seguito da
- L'indirizzo email del destinatario, e alla fine verrà
- Linee di intestazione che definiscono i valori predefiniti per varie parti del messaggio.
A: Indirizzo email del destinatario
L'indirizzo email del destinatario (quello che segue il mailto: immediatamente) potrebbe effettivamente essere più di un indirizzo. Più indirizzi sono separati da una virgola (proprio come la useresti nella linea A: del tuo client di posta elettronica). È interessante notare che un collegamento mailto: è anche valido (e funziona) se non contiene alcun indirizzo predefinito del destinatario.
È quindi perfettamente legale mettere il soggetto predefinito (usando ? Subject = ) subito dopo mailto: . Possiamo creare un messaggio con un oggetto predefinito ma nessun destinatario predefinito:
mailto:? subject = Doc,% 20do% 20Da% 20dance.
Intestazioni: dove va il messaggio e la riga dell'oggetto
Le cose migliori, ovviamente, vengono per ultime. Nella parte di intestazione del mailto: URL possiamo fare quasi tutto. Qualsiasi nome e valore di intestazione specificato in RFC 2822 - Il formato di messaggio Internet - può essere utilizzato in teoria.
Non solo possiamo specificare Soggetto: linee, ma anche Cc: (inviando una copia carbone) o Ccn: (una copia nascosta).
Le X-Headers sono super utili
Di particolare interesse è la capacità di inventare linee di intestazione arbitrarie. Devono solo essere preceduti da X- essere legale - forse conosci l'onnipresente X-Mailer: intestazione. Insieme a un client di posta elettronica in grado di filtrare in base a linee di intestazione arbitrarie, questo rende meravigliose possibilità di ordinamento e filtraggio.
Tutte le linee di intestazione sono specificate nello stesso modo in cui già sappiamo dall'argomento: nome intestazione = valore intestazione, per esempio, X-Z = Y .
Sfortunatamente, tali X-Header funzionano praticamente con qualsiasi combinazione di browser e client di posta elettronica, quindi non puoi fare affidamento su di essi per essere inviati.
Testo del messaggio predefinito
Infine, c'è un nome di intestazione speciale: corpo.
Con questa intestazione, è possibile specificare il testo che verrà visualizzato nel corpo del messaggio di posta elettronica. La parte del corpo dello schema mailto: URL è intesa principalmente per brevi messaggi testuali.
A causa del modo in cui i collegamenti funzionano in HTML, i caratteri speciali devono essere codificati quando si costruisce un corpo predefinito per un collegamento mailto :. Uno spazio deve essere tradotto in %20, ad esempio, e un'interruzione di riga diventa % 0D% 0A.
Fortunatamente, non devi ricordare queste codifiche o farle a mano. Utilizza JavaScript o un comodo mailto: codificatore URL invece.
Combinare le intestazioni
Ad esempio, come è possibile avere più di una parte di intestazione, un Oggetto predefinito e un testo di messaggio predefinito? Questo è fatto con una e commerciale: &.
La prima intestazione segue l'indirizzo del destinatario dopo un punto interrogativo: ?. Tutte le future intestazioni sono allegate in qualsiasi ordine, separate da e commerciali.
Ad esempio (le interruzioni di riga sono qui solo per garantire look accurati, ovviamente non le inseriresti nell'URL):
mailto: [email protected]
? Subject = Ah!
& X-Mailer = Baluba
& Body = Ah!% 0D% 0ABla!