Copertina del nuovo sito

Introduzione

Nel mondo digitale odierno, avere una firma email professionale e dinamica può fare la differenza nella percezione del destinatario e migliorare la tua presenza online. In questo tutorial, ti mostreremo come creare una firma professionale su Mac Mail utilizzando immagini dinamiche dal server. Utilizzeremo Firebase e Google Cloud Functions per automatizzare il processo di aggiornamento delle immagini nella firma, garantendo che ogni modifica sul server si rifletta automaticamente in tutte le email inviate.

Esempio risultato finale web

Nell’immagine sopra, puoi vedere un esempio del risultato finale di una firma email professionale su Mac Mail, utilizzando immagini dinamiche ospitate su un server. Questo approccio non solo rende le tue email visivamente più attraenti, ma permette anche un facile aggiornamento delle immagini direttamente dal server.

Esempio risultato finale responsive

Il GIF mostrato sopra evidenzia come la firma email si adatta in modo responsive su diversi dispositivi, garantendo una presentazione impeccabile su desktop, tablet e smartphone. Grazie all’utilizzo di CSS inline, le immagini e il layout si adattano automaticamente alla dimensione dello schermo del destinatario.

Esempio apertura post

In questo esempio, viene illustrato il funzionamento dinamico delle immagini cliccabili. Ogni immagine nella firma è collegata ad un post specifico del blog, fornendo una call-to-action efficace che può portare i lettori direttamente al contenuto desiderato con un solo clic. Questo aumenta l’interattività e l’engagement con i tuoi contenuti digitali.

Motivazione

Perché dovresti scegliere una firma con immagini dinamiche?

  • Aggiornamenti Automatici: Modificando l’immagine sul server, tutte le firme che fanno riferimento a quell’immagine si aggiorneranno automaticamente.
  • Miglior Gestione del Carico del Server di Posta: Ospitando le immagini esternamente, riduci il carico sul server di posta, poiché l’immagine viene caricata solo quando l’e-mail viene aperta.
  • Monitoraggio Efficace: Tracciando quante volte l’immagine viene visualizzata, puoi ottenere preziose informazioni sull’interazione con le tue email.

Passaggi per Creare una Firma Professionale su Mac Mail

1. Creare una Firma di Base su Mac Mail

  1. Apri Mail e vai su Mail > Preferenze.
  2. Seleziona la scheda Firme.
  3. Clicca sul pulsante + per creare una nuova firma.
  4. Inserisci il testo di base della tua firma.

2. Modifica della Firma in Visual Studio Code

Per aggiungere immagini dinamiche, è necessario modificare direttamente il file della firma.

  1. Apri il Terminale ed esegui il seguente comando per aprire la cartella delle firme di Mail:

  2. Trova il file .mailsignature che corrisponde alla firma che hai appena creato. Apri questo file in Visual Studio Code o in un altro editor di testo.

    Percorso file mailsignature

  3. Modifica il contenuto HTML della firma per includere immagini dinamiche dal server utilizzando tag <img> con URL che puntano a immagini ospitate sul tuo server o su Firebase Storage.

Aggiungere Immagini Dinamiche e Inline CSS

Per garantire che le immagini siano responsive e si adattino sia ai dispositivi desktop che mobile, utilizza il CSS inline direttamente nel file .mailsignature.

Esempio di HTML con CSS inline per immagini dinamiche:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  </head>
  <body
    style="font-family: 'Helvetica Neue', Arial, sans-serif; margin: 0; padding: 15px; background-color: #ffffff; color: rgb(0, 0, 0); line-height: 1.4; text-align: left; box-sizing: border-box;"
  >
    <!-- Contenuto firma -->
    <div
      class="signature-container"
      style="width: 100%; max-width: 600px; margin: 0; text-align: left; box-sizing: border-box;"
    >
      <!-- Altri elementi della firma -->
      <div
        class="flex-container"
        style="display: flex; flex-direction: row; width: 100%; gap: 10px; box-sizing: border-box; margin-top: 10px;"
      >
        <a
          href="https://example.com/link1"
          style="width: 48%; box-sizing: border-box;"
        >
          <img
            src="https://example.com/image1.png"
            alt="Image 1"
            style="width: 100%; height: auto; border: none; overflow: hidden;"
          />
        </a>
        <a
          href="https://example.com/link2"
          style="width: 48%; box-sizing: border-box;"
        >
          <img
            src="https://example.com/image2.png"
            alt="Image 2"
            style="width: 100%; height: auto; border: none; overflow: hidden;"
          />
        </a>
      </div>
    </div>
    <!-- Inline Media Query for Mobile Responsiveness -->
    <style type="text/css" data-inline="true">
      @media (max-width: 600px) {
        .flex-container {
          flex-direction: column !important;
        }
        .flex-container a {
          width: calc(
            100% - 30px
          ) !important; /* Same left and right margin as body */
          margin: 0 15px 10px 15px; /* Adjusting margin for mobile view */
        }
      }
    </style>
  </body>
</html>

Pulizia della Cache di Mac Mail

Per visualizzare correttamente le modifiche alle immagini della firma, potrebbe essere necessario cancellare la cache delle immagini di Mac Mail. Esegui questi comandi nel Terminale per rimuovere i dati cache:

  1. Apri Terminale.
  2. Esegui il seguente comando per aprire la cartella della cache di Mail:
1
   open ~/Users/IL-TUO-USERNAME/Library/Mail/V10/MailData/RemoteContentURLCache/fsCachedData
  1. Elimina i file di cache presenti nella cartella.
  2. Riavvia l’applicazione Mail per applicare le modifiche.

Utilizzo di Google Cloud Functions per Generare Immagini Dinamiche

Per automatizzare la generazione di immagini dal feed RSS del blog e salvarle su Firebase Storage, possiamo utilizzare una Google Cloud Function.

Codice per la Funzione Cloud per Generare Immagini:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import os
from io import BytesIO
from google.cloud import storage
from bs4 import BeautifulSoup
import requests
import logging
from PIL import Image, ImageDraw, ImageFont

storage_client = storage.Client()
bucket_name = "your-bucket-name"
bucket = storage_client.bucket(bucket_name)

font_path_regular = os.path.join(os.path.dirname(__file__), 'helvetica-neue', 'HelveticaNeueRoman.otf')
font_path_bold = os.path.join(os.path.dirname(__file__), 'helvetica-neue', 'HelveticaNeueBold.otf')

def create_image_from_rss_item(image_url, title, description):
    try:
        # Trimming and wrapping logic here...
        return output_stream
    except Exception as e:
        logging.error(f"Error creating image: {e}")
        return None

def generateSitiappSignatureImagesFromBlogRSS(request):
    try:
        rss_feed_url = "https://sitiapp.it/blog/index.xml"
        response = requests.get(rss_feed_url)
        response.raise_for_status()
        # Parsing and image generation logic...
        return {"imageUrls": image_urls}, 200
    except Exception as e:
        logging.error(f"Error generating images from RSS feed: {e}")
        return {"error": str(e)}, 500

# Deploy the function using:
# gcloud functions deploy generateSitiappSignatureImagesFromBlogRSS --runtime python310 --trigger-http --region europe-west1 --allow-unauthenticated --source=.

Redirect al Blog Post con Funzione Cloud

Per reindirizzare gli utenti ai post del blog corretti quando fanno clic sulle immagini, utilizziamo una Google Cloud Function di reindirizzamento.

Codice per la Funzione Cloud per il Reindirizzamento:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
import functions from "firebase-functions";
import express from "express";
import cors from "cors";
import fetch from "node-fetch";
import { JSDOM } from "jsdom";

const app = express();
app.use(cors());

app.get("/redirect", async (req, res) => {
  try {
    const { post } = req.query;
    if (!post || (post !== "post-1" && post !== "post-2")) {
      return res.status(400).send("Invalid post parameter.");
    }

    const latestPosts = await fetchLatestBlogPosts();
    let redirectUrl;
    if (post === "post-1") {
      redirectUrl = latestPosts[0].querySelector("link").textContent; // Post più recente
    } else if (post === "post-2") {
      redirectUrl = latestPosts[1].querySelector("link").textContent; // Secondo post più recente
    }

    // Effettua il redirect all'URL del post del blog
    return res.redirect(redirectUrl);
  } catch (error) {
    console.error("Error handling redirection:", error);
    return res.status(500).send("Internal Server Error");
  }
});

export const redirectToBlogPost = functions.https.onRequest(app);

Come Funziona Questa funzione cloud utilizza l’endpoint /redirect per determinare quale post del blog mostrare in base al parametro di query post. Recupera gli ultimi post del blog dal feed RSS e reindirizza l’utente al post corretto in base al clic fatto.

Conclusione Creare una firma e-mail dinamica su Mac Mail utilizzando immagini dal server non solo migliora la tua immagine professionale ma offre anche flessibilità e controllo nel gestire la tua firma. Utilizzando Google Cloud Functions e Firebase, puoi automatizzare il processo di aggiornamento delle immagini della firma, garantendo che ogni modifica si rifletta immediatamente. Segui questa guida per creare la tua firma dinamica e rendere le tue email ancora più efficaci!

Ulteriori Considerazioni

L’implementazione di una firma dinamica con immagini dal server può sembrare complessa all’inizio, ma i vantaggi superano di gran lunga i costi di configurazione. Non solo semplifica il processo di aggiornamento delle firme, ma offre anche una maggiore flessibilità e professionalità nelle comunicazioni digitali.