b0sh.net
type: channel
description: Proudly debugging the system since 1981
date: 2026-06-01T09:09:07Z
update period: hourly
update frequency: 1
update base: 2000-01-01T12:00+00:00
generator agent: https://wordpress.org/
items: PhotoPrism AI Curator: aggiornamenti, raffinamenti e una web UI
items: Ho costruito un selezionatore AI per scegliere le foto migliori da PhotoPrism
items: OpenHuman: promesse grandi, prova sul campo deludente
items: Ha ancora senso usare N8N? Un esperimento con Gemini CLI mi ha fatto cambiare idea
items: Phone-whisper: trascrizione audio offline su Android con sherpa-onnx
items: Aggiornamenti sulla app per l’esame VDS
items: Ho costruito un’app per l’esame VDS in una giornata – usando Qwen 3.6 Plus gratis su OpenRouter
items: Nemotron 3 Super vs Qwen3.5: costruire un’app con l’AI senza scrivere codice
items: Claude Code + Ollama/Qwen3.5
items: Gmail abbandona il POP3 fetch: come configurare l’inoltro email con SPF, DKIM e SRS su Postfix

PhotoPrism AI Curator: aggiornamenti, raffinamenti e una web UI
type: item
creator: bosh
date: 2026-06-01T09:08:26Z
subject: AI
subject: automazione foto
subject: batch processing
subject: cache AI
subject: clustering descrizioni
subject: clustering semantico
subject: deduplicazione foto
subject: foto viaggio
subject: gallery AI
subject: LM Studio
subject: ollama
subject: organizzazione foto
subject: photo management
subject: photoprims curator
subject: ranking estetico
subject: self-hosted
description: Qualche tempo fa ho scritto di aver costruito un selezionatore AI per PhotoPrism, un piccolo strumento che usa modelli locali per scegliere le foto migliori e creare album automatici. Il post originale raccontava il primo prototipo: ranking estetico puro, clustering semantico, e una CLI minimale. Da allora ho lavorato molto sul progetto, aggiungendo funzionalità, migliorando […]
encoded: Qualche tempo fa ho scritto di aver costruito un selezionatore AI per PhotoPrism, un piccolo strumento che usa modelli locali per scegliere le foto migliori e creare album automatici. Il post originale raccontava il primo prototipo: ranking estetico puro, clustering semantico, e una CLI minimale. Da allora ho lavorato molto sul progetto, aggiungendo funzionalità, migliorando la stabilità e rendendo tutto più facile da usare. Da Ollama a Ollama e LM Studio Una delle richiesta più comuni che ho visto in giro per progetti simili è la possibilità di usare backend diversi. Nel primo post parlavo solo di Ollama come backend AI. Ora lo strumento supporta anche LM Studio, con API OpenAI-compatibili. Che significa, in pratica? Se desideri avere più controllo e scelta di modelli, puoi usare LM Studio senza cambiare nulla nel flusso di lavoro. Nell’interfaccia web e nella CLI il passaggio è trasparente: basta cambiare il backend nei parametri e puntare all’URL del server corretto. Deduplicazione tempo e spazio, non solo semantica Nel post originale parlavo di clustering semantico: le foto venivano raggruppate per similarità di descrizione e poi selezionate a rotazione per evitare ripetizioni. Funzionava, ma a volte finivo comunque con foto troppo simili, scattate nello stesso istante e nella stessa posizione. Ho aggiunto un secondo livello di deduplicazione temporale e geografica. Dopo la selezione iniziale, lo strumento rimuove automaticamente le foto che sono entro 30 secondi e 100 metri l’una dall’altra, tenendo sempre quella con il ranking estetico migliore. Il risultato è un album più vario, con meno “serie di foto quasi identiche” e più momenti distinti. Logging professionale con Logback Il primo prototipo scriveva log in modo un po’ artigianale, spesso su stdout o in file senza gestione. Per un tool che può girare automaticamente su grandi archivi, serve qualcosa di più robusto. Ora il progetto usa Logback con: logging su file (logs/photoprism-ai.log) rotazione giornali…

Ho costruito un selezionatore AI per scegliere le foto migliori da PhotoPrism
type: item
creator: bosh
date: 2026-05-24T20:04:11Z
subject: AI
subject: ai
subject: album fotografici
subject: clustering semantico
subject: computer vision
subject: fotografia
subject: java
subject: Maven
subject: multimodal AI
subject: ollama
subject: organizzazione foto
subject: photoprims curator
subject: photoprism
subject: PhotoPrism API
subject: selezione foto
subject: self-hosted
description: Tornare da un viaggio significa quasi sempre ritrovarsi con una quantità ingestibile di foto. Nel caso di Lisbona, il problema non era tanto archiviare gli scatti, quanto riuscire a estrarne una ventina davvero condivisibile: belle, sì, ma anche varie e capaci di raccontare l’esperienza nel suo insieme. PhotoPrism offriva già un’ottima base grazie a geolocalizzazione, […]
encoded: Tornare da un viaggio significa quasi sempre ritrovarsi con una quantità ingestibile di foto. Nel caso di Lisbona, il problema non era tanto archiviare gli scatti, quanto riuscire a estrarne una ventina davvero condivisibile: belle, sì, ma anche varie e capaci di raccontare l’esperienza nel suo insieme. PhotoPrism offriva già un’ottima base grazie a geolocalizzazione, riconoscimento facciale, label e strumenti di organizzazione, ma non aveva ancora un modo per comporre automaticamente un album con “le foto più belle” e soprattutto con sufficiente varietà. Da qui è nata l’idea di un selezionatore AI: una piccola applicazione Java che usa PhotoPrism per recuperare le miniature delle immagini e Ollama per far lavorare due modelli AI, uno multimodale per assegnare un punteggio estetico e produrre una descrizione oggettiva, e un secondo modello testuale per raggruppare semanticamente le foto e selezionarle con più equilibrio. Il problema vero non era la qualità Il primo prototipo faceva una cosa molto semplice: prendere le foto da PhotoPrism, inviarle a un modello multimodale su Ollama e chiedere un voto estetico da 1 a 100 insieme a una breve descrizione. Sulla carta sembrava sufficiente, ma in pratica produceva una selezione monotona: immagini molto belle singolarmente, ma spesso troppo simili tra loro. Era il classico caso in cui un ranking puro ottimizza la qualità locale ma non la copertura narrativa. Se cinque foto dello stesso scorcio o dello stesso momento ricevono voti alti, un algoritmo ingenuo tende a sceglierle tutte. Per costruire un album da condividere, invece, non basta premiare le immagini migliori: bisogna anche evitare la ripetizione. Dalla classifica ai cluster La seconda iterazione ha quindi cambiato approccio. Invece di trattare il problema come una semplice classifica, il tool ha iniziato a ragionare per gruppi: ogni foto riceve una descrizione oggettiva dal modello visivo, e queste descrizioni vengono poi analizzate da un secondo modello text-only…

OpenHuman: promesse grandi, prova sul campo deludente
type: item
creator: bosh
date: 2026-05-17T13:43:03Z
subject: AI
subject: agenti AI
subject: AI locale
subject: debug
subject: Fedora
subject: llm
subject: ollama
subject: open source
subject: Open WebUI
subject: OpenHuman
subject: openrouter
subject: privacy
subject: review software
subject: windows
description: Ho testato OpenHuman in più scenari, da Fedora in VM a Windows con GPU, passando per Ollama, Open WebUI e OpenRouter. Il risultato è stato deludente: installazioni instabili, configurazioni poco trasparenti, dipendenze cloud poco chiare e nessuna esperienza davvero affidabile nell’uso reale.
encoded: Ho provato OpenHuman con l’idea di testare un progetto che, sulla carta, sembra voler portare gli agenti AI locali un passo più in là. Il risultato, però, è stato molto meno entusiasmante del racconto che accompagna il repository: installazione rapida, avvio instabile, integrazioni confuse e, alla fine, nessuna esperienza davvero solida da portare a casa. La prova più interessante non è stata nemmeno il primo avvio fallito su Fedora in VM, ma il confronto tra ambienti diversi. Su una macchina fisica Windows con GPU, OpenHuman parte; appena si entra nel flusso di configurazione, però, emergono subito domande poco rassicuranti: login cloud richiesto, collegamento Gmail mediato da un servizio terzo, e una catena di dipendenze che rende il concetto di “locale” molto più sfumato di quanto il marketing lasci intendere. Un progetto che promette molto OpenHuman si presenta come un assistente personale AI locale, capace di integrarsi con servizi esterni, gestire memoria e collegarsi a modelli LLM sia in locale sia in cloud. Il pitch è forte: un agente “human-centric”, pronto a conoscersi in pochi minuti e a diventare parte del flusso di lavoro quotidiano. Ed è proprio qui che nasce il problema. Più la promessa è ambiziosa, più ci si aspetta che il setup sia semplice, trasparente e affidabile. Invece la mia esperienza è stata l’opposto: ogni passo sembrava introdurre un nuovo livello di complessità, spesso non spiegato bene all’utente. Fedora in VM: crash, errori e packaging fragile Il primo test è stato su Fedora in macchina virtuale. Qui OpenHuman ha mostrato subito il suo lato più fragile. L’installazione è partita velocemente, ma all’avvio il programma non è riuscito a completare il bootstrap in modo stabile. I log hanno iniziato a restituire errori diversi a ogni tentativo, e questo è già di per sé un pessimo segnale. Tra i messaggi più significativi c’erano: textVMware: No 3D enabled e soprattutto: textError initializing NSS with a persistent database version `NSSUTIL_3…

Ha ancora senso usare N8N? Un esperimento con Gemini CLI mi ha fatto cambiare idea
type: item
creator: bosh
date: 2026-04-25T14:47:07Z
subject: AI
subject: ai
subject: gemini
subject: geminiCli
subject: java
subject: n8n
subject: whisper
description: Per chi mi segue da un po’, sa che ho usato N8N come strumento di riferimento ogni volta che volevo integrare l’AI in un processo senza scrivere codice da zero. Workflow visivi, nodi preconfigurati, integrazioni pronte: per prototipare rapidamente è stato spesso la scelta giusta. Ma ultimamente mi sono fatto una domanda: ha ancora senso […]
encoded: Per chi mi segue da un po’, sa che ho usato N8N come strumento di riferimento ogni volta che volevo integrare l’AI in un processo senza scrivere codice da zero. Workflow visivi, nodi preconfigurati, integrazioni pronte: per prototipare rapidamente è stato spesso la scelta giusta. Ma ultimamente mi sono fatto una domanda: ha ancora senso usare N8N nel 2026, ora che gli strumenti di codifica AI sono diventati così potenti? L’esperimento Avevo un workflow N8N che usavo per trascrivere e sintetizzare registrazioni video — niente di esoterico, ma un processo abbastanza articolato: estrazione audio, chiamata a un modello di trascrizione, sintesi con un LLM, output strutturato. Funzionava, ma con i suoi limiti: dimensione massima dei file in ingresso, dipendenza dall’infrastruttura N8N, e quella sensazione di lavorare “dentro una scatola”. Ho deciso di provare a riscrivere l’intero flusso come programma standalone. Gli strumenti? Gemini CLI come agente di codifica, il JSON del workflow N8N come specifica di partenza, e un prompt abbastanza dettagliato su cosa volessi ottenere. Il risultato (che mi ha sorpreso) In poche decine di minuti avevo un programma funzionante da riga di comando. Non un prototipo traballante: un tool che funziona meglio del workflow N8N originale, senza i limiti sulla dimensione dei file e con un controllo molto più diretto su ogni fase del processo. Ho scelto deliberatamente la CLI perché l’uso che immagino è locale e sporadico — nessun senso di tirar su un’infrastruttura per qualcosa che uso una volta alla settimana. Ma sarebbe stato altrettanto semplice chiedere a Gemini CLI di generare un’app che espone un webservice: il delta di complessità sarebbe stato minimo. La cosa che mi ha colpito di più non è tanto la velocità, ma quanto sia stato naturale usare il JSON di N8N come prompt implicito. Il workflow descriveva già la logica del processo in modo strutturato; Gemini ha semplicemente tradotto quella struttura in codice Java coerente e funzionant…

Phone-whisper: trascrizione audio offline su Android con sherpa-onnx
type: item
creator: bosh
date: 2026-04-19T14:07:24Z
subject: AI
subject: ai
subject: gemini-cli
subject: parakeet
subject: phone-whisper
subject: qwen
subject: sherpa-onnx
subject: STT
description: Se hai mai avuto bisogno di trascrivere una nota vocale, un’intervista o un audio WhatsApp direttamente sul tuo smartphone — senza mandare nulla in cloud, senza abbonamenti, senza privacy violata — allora questo progetto fa per te. phone-whisper è un’app Android open source che ho sviluppato a partire da un fork di un progetto esistente, […]
encoded: Se hai mai avuto bisogno di trascrivere una nota vocale, un’intervista o un audio WhatsApp direttamente sul tuo smartphone — senza mandare nulla in cloud, senza abbonamenti, senza privacy violata — allora questo progetto fa per te. phone-whisper è un’app Android open source che ho sviluppato a partire da un fork di un progetto esistente, riprogettandola per fare una cosa sola ma fatta bene: trascrivere file audio condivisi direttamente sul dispositivo, in modo completamente locale. Da dove nasce il progetto Il punto di partenza è stato un progetto open source che sfruttava il riconoscimento vocale via microfono. L’idea di base mi piaceva, ma quello che mi serviva era diverso: volevo poter condividere un file audio da qualsiasi app — WhatsApp, Files, un registratore vocale — e ottenere la trascrizione in pochi secondi, tutto offline. Ho quindi forkato il progetto e ho iniziato ad adattarlo, usando strumenti di intelligenza artificiale come Gemini CLI e Qwen Code per accelerare il refactoring e la riscrittura delle funzionalità principali. L’AI è stata preziosa per navigare una codebase che non conoscevo a fondo e per generare rapidamente le modifiche necessarie all’integrazione con il sistema di condivisione di Android. Il debugging: quando la trascrizione locale non funzionava Qui le cose si sono fatte interessanti. Il sistema di trascrizione locale del progetto originale non funzionava in modo affidabile — o meglio, non funzionava affatto nel mio caso. Dopo varie sessioni di debug, ho capito che la soluzione più stabile era integrare direttamente sherpa-onnx, una libreria di inferenza vocale offline estremamente performante, sviluppata dal team k2-fsa. Il problema? Non potevo semplicemente aggiungere la dipendenza tramite Gradle come si farebbe normalmente. Ho dovuto includere la libreria direttamente come file .aar all’interno del progetto, per garantire compatibilità e controllo sulla versione esatta utilizzata. E proprio le versioni sono state un altro grattacap…

Aggiornamenti sulla app per l’esame VDS
type: item
creator: bosh
date: 2026-04-11T13:32:19Z
subject: AI
subject: volo
subject: ai
subject: aviation
subject: ulm
subject: vds
description: Sono andato ulteriormente avanti con lo sviluppo della app creata settimana scorsa, e oltre a qualche fix posso annunciare che è possibile scaricare e utilizzare l’apk pronto. Basta guardare tra le release su repo github. Ho qualche dubbio sull’opportunità di pubblicare sullo store ufficiale … dovrei informarmi su burocrazia e costi.
encoded: Sono andato ulteriormente avanti con lo sviluppo della app creata settimana scorsa, e oltre a qualche fix posso annunciare che è possibile scaricare e utilizzare l’apk pronto. Basta guardare tra le release su repo github. Ho qualche dubbio sull’opportunità di pubblicare sullo store ufficiale … dovrei informarmi su burocrazia e costi.

Ho costruito un’app per l’esame VDS in una giornata – usando Qwen 3.6 Plus gratis su OpenRouter
type: item
creator: bosh
date: 2026-04-03T14:09:11Z
subject: AI
subject: ai
subject: claude code
subject: nemotron
subject: qwen
subject: vds
subject: vibecoding
description: Continua la serie “Usiamo Claude Code a costo zero”, e questa volta ho unito la programmazione a un’altra mia passione: il volo. L’Aero Club d’Italia (AECI) mette a disposizione un’applicazione desktop per simulare l’esame di conseguimento dell’attestato VDS (Volo da Diporto o Sportivo). Utile, certo – ma decisamente più comodo avere qualcosa in tasca, da […]
encoded: Continua la serie “Usiamo Claude Code a costo zero”, e questa volta ho unito la programmazione a un’altra mia passione: il volo. L’Aero Club d’Italia (AECI) mette a disposizione un’applicazione desktop per simulare l’esame di conseguimento dell’attestato VDS (Volo da Diporto o Sportivo). Utile, certo – ma decisamente più comodo avere qualcosa in tasca, da usare anche lontano dalla scrivania. Non a caso esistono già alcune app per smartphone, tutte però a pagamento. <img alt="" fetchpriority="high" decoding="async" width="174" height="300" src="https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-174x300.jpg" alt="" class="wp-image-4108" srcset="https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-174x300.jpg 174w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-595x1024.jpg 595w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-768x1323.jpg 768w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-892x1536.jpg 892w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds-676x1164.jpg 676w, https://www.b0sh.net/wp-content/uploads/2026/04/test-vds.jpg 921w" sizes="(max-width: 174px) 100vw, 174px" /> Ho voluto quindi fare un esperimento: quanto tempo ci vuole per replicare le funzionalità dell’app di AECI in formato mobile, usando un modello AI gratuito come strumento di sviluppo? Il risultato In circa una giornata di lavoro ho ottenuto un prototipo sostanzialmente funzionante. Lo strumento usato? Qwen 3 Plus, recentemente disponibile gratuitamente su OpenRouter, abbinato a Claude Code. La qualità del modello è evidente: rispetto a Nemotron 3 Super rappresenta un netto passo avanti in termini di comprensione del contesto e qualità del codice generato. Poterlo usare gratuitamente sembra quasi troppo bello per essere vero – e probabilmente questa finestra non durerà a lungo. Consiglio di sfruttarla finché c’è. Prova l’app (è open source) Il codice è disponibile su GitHub: github.com/b0sh-net/vdsexamapp Chiunque voglia provarla, migliorarla …

Nemotron 3 Super vs Qwen3.5: costruire un’app con l’AI senza scrivere codice
type: item
creator: bosh
date: 2026-03-30T06:30:50Z
subject: AI
subject: agentic ai
subject: ai
subject: claude code
subject: nemotron
subject: openrouter
subject: qwen3.5
description: La precedente esperienza con Qwen3.5 non aveva dato i risultati sperati. Nonostante ore di lavoro e feedback continui, il modello non è mai riuscito a produrre un’applicazione funzionante: regressioni cicliche ed errori difficilmente superabili con le capacità dello strumento hanno bloccato ogni progresso. Ho voluto quindi riprovare con Nemotron-Cascade-2, ma le sue richieste hardware si […]
encoded: La precedente esperienza con Qwen3.5 non aveva dato i risultati sperati. Nonostante ore di lavoro e feedback continui, il modello non è mai riuscito a produrre un’applicazione funzionante: regressioni cicliche ed errori difficilmente superabili con le capacità dello strumento hanno bloccato ogni progresso. Ho voluto quindi riprovare con Nemotron-Cascade-2, ma le sue richieste hardware si sono rivelate eccessive per la mia macchina. Incuriosito comunque dall’ecosistema di modelli NVIDIA, ho scoperto che Nemotron 3 Super è disponibile gratuitamente su OpenRouter — e ho deciso di metterlo alla prova con lo stesso compito. Quasi 21 milioni di token dopo, e con una spesa effettiva di 0$, l’applicazione non è ancora priva di bug. Eppure, in qualche modo, sembra più vicina a qualcosa di concreto rispetto a quanto ottenuto con Qwen3.5. Il dettaglio più incoraggiante? Non si è ancora bloccato su un errore irrisolvibile. Con qualche altra sessione di test e qualche milione di token in più, potrebbe davvero riuscire a chiudere il lavoro. <img alt="" decoding="async" width="1024" height="267" src="https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-1024x267.png" alt="" class="wp-image-4098" srcset="https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-1024x267.png 1024w, https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-300x78.png 300w, https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-768x200.png 768w, https://www.b0sh.net/wp-content/uploads/2026/03/nemotron-676x176.png 676w, https://www.b0sh.net/wp-content/uploads/2026/03/nemotron.png 1277w" sizes="(max-width: 1024px) 100vw, 1024px" /> Resta però evidente una cosa: siamo ancora molto lontani dall’idea romantica di “mi faccio un’app semplice, senza scrivere una riga di codice, in pochi minuti”. Forse ci proverò anche con Claude Sonnet, se mi avanza qualche credito a fine mese. Il progetto è pubblico: puoi scaricarlo e testarlo sul repository GitHub. <a class="a2a_dd addtoany_share_save addtoany_share" hre…

Claude Code + Ollama/Qwen3.5
type: item
creator: bosh
date: 2026-03-08T18:22:58Z
subject: AI
subject: claude code
subject: context7
subject: ollama
subject: programmazione
subject: qwen
description: È possibile usare Claude Code con un modello locale — decisamente migliorato rispetto alle versioni precedenti — come Qwen3.5 per realizzare una piccola app Android senza scrivere una riga di codice? L’impressione è che sì, si possa fare. Il modello configura tutto, scarica i framework, e dietro mio suggerimento si costruisce una lista di task […]
encoded: È possibile usare Claude Code con un modello locale — decisamente migliorato rispetto alle versioni precedenti — come Qwen3.5 per realizzare una piccola app Android senza scrivere una riga di codice? <img alt="" decoding="async" width="1024" height="685" src="https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-172936-1024x685.png" alt="" class="wp-image-4083" srcset="https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-172936-1024x685.png 1024w, https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-172936-300x201.png 300w, https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-172936-768x514.png 768w, https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-172936-676x452.png 676w, https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-172936.png 1088w" sizes="(max-width: 1024px) 100vw, 1024px" /> L’impressione è che sì, si possa fare. Il modello configura tutto, scarica i framework, e dietro mio suggerimento si costruisce una lista di task da completare uno alla volta. Gli chiedo poi di riverificare il lavoro svolto, e in circa un quarto d’ora l’applicazione è pronta. In teoria. <img alt="" loading="lazy" decoding="async" width="1024" height="597" src="https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-173659-1024x597.png" alt="" class="wp-image-4084" srcset="https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-173659-1024x597.png 1024w, https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-173659-300x175.png 300w, https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-173659-768x448.png 768w, https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-173659-676x394.png 676w, https://www.b0sh.net/wp-content/uploads/2026/03/Immagine-2026-03-08-173659.png 1087w" sizes="auto, (max-width: 1024px) 100vw, 1024px" /> <img alt="" loading="lazy" decoding="async" width="1024" height="623" src="https://www.b0sh.net/wp-content/up…

Gmail abbandona il POP3 fetch: come configurare l’inoltro email con SPF, DKIM e SRS su Postfix
type: item
creator: bosh
date: 2026-02-22T09:04:41Z
subject: sistemisti
subject: DKIM
subject: DMAR
subject: dns
subject: email-authentication
subject: email-forwarding
subject: gmail
subject: linux
subject: postfix
subject: postsrsd
subject: self-hosting
subject: SPF
subject: SRS
subject: webmin
description: Con una recente comunicazione ufficiale, Google ha annunciato la dismissione del fetch POP3 da account esterni in Gmail. Chi utilizzava questa funzione per consolidare più caselle email in Gmail si trova ora a dover migrare verso una soluzione alternativa: l’inoltro automatico (email forwarding) direttamente dal server di posta sorgente. Questa guida documenta il processo completo […]
encoded: Con una recente comunicazione ufficiale, Google ha annunciato la dismissione del fetch POP3 da account esterni in Gmail. Chi utilizzava questa funzione per consolidare più caselle email in Gmail si trova ora a dover migrare verso una soluzione alternativa: l’inoltro automatico (email forwarding) direttamente dal server di posta sorgente. Questa guida documenta il processo completo per configurare correttamente l’inoltro da un dominio custom gestito con Postfix e Webmin verso Gmail, risolvendo i problemi di autenticazione SPF/DKIM che causano il blocco con errore 550 5.7.26. Il problema: Gmail rifiuta le email inoltrate Attivando l’inoltro automatico dal proprio server di posta verso Gmail, si riceve quasi immediatamente un bounce con questo errore: text550-5.7.26 Your email has been blocked because the sender is unauthenticated. Gmail requires all senders to authenticate with either SPF or DKIM. DKIM = did not pass SPF [dominio-originale.com] with ip: [IP-del-tuo-server] = did not pass La causa è strutturale: quando il server di posta inoltra un messaggio, il mittente nell’envelope (Return-Path) rimane quello originale (es. mittente@dominio-esterno.com), ma l’IP che effettua la consegna è quello del tuo server. Gmail verifica l’SPF del dominio originale contro l’IP del tuo server — e ovviamente fallisce, perché il tuo server non è autorizzato a inviare per conto di domini terzi. La soluzione: SRS + SPF sul dominio di inoltro La soluzione completa richiede tre interventi: SRS (Sender Rewriting Scheme) — riscrive il mittente envelope usando il tuo dominio Record SPF sul tuo dominio che autorizzi il tuo IP Record DMARC per migliorare la reputazione del dominio Step 1: installare e configurare postsrsd SRS è un meccanismo che riscrive l’indirizzo mittente nell’envelope da mittente@dominio-esterno.com a SRS0=HASH=TT=dominio-esterno.com=mittente@tuo-dominio.com. In questo modo Gmail verifica l’SPF contro il tuo dominio, che puoi controllare. Installa il demone postsrsd: b…