Qual è il modo migliore per fornire all'utente aggiornamenti settimanali dal tuo programma?

StackOverflow https://stackoverflow.com/questions/252119

  •  05-07-2019
  •  | 
  •  

Domanda

Ho un programma che, per la maggior parte, opera in background. Diciamo che DoesWork (). Una volta alla settimana, voglio che informi l'utente di alcuni lavori che ha completato negli ultimi giorni. Sarà un rapporto sullo stato di base, che elenca alcuni file che sono stati scaricati.

Inizialmente, volevo inviare questo aggiornamento dello stato via e-mail, quindi l'ho esaminato ma ci sono molti problemi. Ho bisogno di un server SMTP, quindi ho guardato GMail. Va bene, ma ha un limite giornaliero di 500 e-mail, quindi questo non sarebbe adatto per il rilascio. Inoltre, ci sarebbero problemi con la stessa password dell'account e-mail fornita in ogni copia del programma, che a mio avviso è un rischio anche se la password viene archiviata utilizzando la crittografia.

Poi ho pensato che forse avrei potuto usare l'account e-mail dell'utente per inviare e-mail a se stesso. Anche questo ha un paio di complicazioni: l'utente dovrebbe specificare tutte le informazioni smtp per il suo account e-mail, il che è troppo complicato per l'utente di destinazione. Inoltre, non voglio che le persone inseriscano la password dell'account e-mail nel mio programma solo per inviare e-mail. Non credo sia una buona abitudine promuovere.

Esiste un modo per farlo tramite e-mail? L'email è stata la mia prima scelta perché è un sistema di notifica che gli utenti controlleranno già. È abbastanza non invadente.

È necessario configurare il mio server SMTP? In tal caso, come posso farlo?

Se l'e-mail è un no-go, stavo anche pensando di generare un file HTML locale con le informazioni pertinenti e quindi di avere un popup di notifica dal programma una volta alla settimana per informare l'utente che un nuovo rapporto di aggiornamento è pronto . Penso che questo sia totalmente fattibile, è solo eccessivamente istruttivo e non è la mia prima scelta. Voglio tornare sulle spalle di un sistema che l'utente sta già utilizzando.

Grazie! -Greg

È stato utile?

Soluzione

Un'alternativa è che il programma generi un feed RSS e indichi all'utente come abbonarsi. Inoltre, una volta generato un nuovo aggiornamento, mostra il toast di aggiornamento per circa un minuto, quindi nascondilo automaticamente e cambia l'icona del systray in qualcosa di diverso. In circa un giorno cambiarlo di nuovo all'icona originale. Inoltre, dai all'utente un'impostazione per disattivare definitivamente il brindisi.

Affidarsi all'e-mail non è una buona idea, poiché dovresti raccogliere le e-mail degli utenti e gestire i problemi di privacy per questo, dovresti effettivamente dosare qualsiasi server SMTP di terze parti o dovresti investire nell'infrastruttura per il tuo proprio.

Altri suggerimenti

Se l'ho capito correttamente, l'utente sta eseguendo questo programma sul suo pc, in background.

Il modo perfetto per notificare qualcosa sarebbe, IMHO, dare il programma è minimizzato alla barra delle applicazioni, un piccolo popup che ha fatto clic, avrebbe aperto una finestra con un rapporto settimanale.

Spero che questo aiuti.

Se riesci a specificare il proprio server smtp, assicurati di inserire un '' Invia email di prova '' pulsante lì in modo che possano testarlo. So per esperienza che gli utenti inseriscono sempre i dettagli sbagliati quando specificano un server smtp, un nome utente, una password, il che è peggiorato dal momento che alcuni server smtp richiedono un nome utente / password e altri no.

Se inseriscono i dettagli errati (o cambiano), potrebbe essere necessario avere un modo per inviare loro rapporti più vecchi o per avere un altro modo per avvisarli che non è possibile inviare e-mail.

La posta elettronica è eccezionale, ma potrebbe essere necessario anche un metodo alternativo.

Google per semplici finestre server SMTP ti offre questo

Ad essere onesti se invii cose una volta alla settimana, l'e-mail è la soluzione migliore, poiché non è abbastanza frequente garantire che l'utente sarà al suo computer per accettare qualche altro tipo di richiesta, che richiederebbe di scrivere software proprietario.

In alternativa, puoi pubblicarlo su un canale irc o scrivere un bot MSN per inviare messaggi all'utente, il messaggio verrebbe inviato come messaggio offline se l'utente fosse offline.

Continuerei a cercare e-mail, è provato e testato.

Per un semplice server SMTP utilizzo hmail . Lo configuro per accettare tutte le richieste SMTP dal computer locale, indipendentemente dall'origine e dalla destinazione, e per negare qualsiasi richiesta SMTP non proveniente dall'host locale. Questo andrà bene se hai un'applicazione in posizione centrale.

Se vuoi distribuire l'app hai una situazione completamente diversa; con molti ISP che impongono restrizioni al traffico SMTP, l'opzione migliore sarebbe quella di consentire agli utenti di inserire i dettagli del proprio account di posta e di utilizzarli per inviare la posta. Ciò garantirà che tutti possano mettere le impostazioni di lavoro. Quindi utilizza qualsiasi libreria o codice preesistente per la tua lingua preferita per inviare un'e-mail utilizzando tali impostazioni.

Deve essere un digest settimanale? Invece, che ne dici di usare Growl (o equivalente) per avvisare l'utente delle attività che vengono completate in tempo reale, in lo sfondo?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top