Qual é a melhor maneira de dar as atualizações semanais de usuários de seu programa?

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

  •  05-07-2019
  •  | 
  •  

Pergunta

Eu tenho um programa que, na maioria das vezes, funciona em segundo plano. Digamos que DoesWork (). Uma vez por semana, eu quero isso para notificar o usuário sobre algum do trabalho que completou ao longo dos últimos dias. Será um relatório básico status, listando alguns arquivos que foram baixados.

Inicialmente, eu queria enviou esta atualização de status via e-mail, então eu olhei para isso, mas há um monte de problemas. Eu preciso de um servidor SMTP então eu olhei para GMail. Está tudo bem, mas tem um limite diário de 500 e-mails, então isso não seria adequado para a liberação. Além disso, não haveria problemas com a mesma senha da conta de e-mail que está sendo dado para fora em cada cópia do programa, que como eu o entendo, é um risco, mesmo que a senha é armazenada usando criptografia.

Então eu pensei que talvez eu poderia usar própria conta de e-mail do usuário para enviar um email para sua / seu self. Isto tem um par de complicações demais: o usuário precisa especificar todas as informações smtp para seu / sua conta de e-mail, que é muito complicado para o usuário-alvo. Além disso, eu não quero ter que ter pessoas que entram a senha da conta de e-mail em meu programa apenas para enviar e-mails. Eu não acho que é um bom hábito para promover.

Existe alguma maneira eu poderia fazer isso por e-mail? Email foi a minha primeira escolha, pois é um sistema de notificação que os usuários já estarão verificando. É bastante não-intrusiva.

É necessário configurar o meu próprio servidor SMTP? Se sim, como posso fazer isso?

Se email é um não-go, eu estava pensando também apenas gerar um arquivo HTML local com a informação relevent, e depois ter um pop-up de notificação a partir do programa uma vez por semana para informar o usuário que um novo relatório de actualização está pronto . Acho que isso é totalmente factível, é apenas excessivamente instrusive e não a minha primeira escolha. Eu quero pegar carona em um sistema que o usuário já está usando.

Obrigado! -Greg

Foi útil?

Solução

Uma alternativa é ter o programa gerar um feed RSS e direcionar o usuário como se inscrever para ele. Além disso, uma vez que uma nova atualização é gerado, mostrar o brinde atualização para cerca de um minuto, em seguida, escondê-lo automaticamente e mudar seu ícone systray para algo diferente. Em cerca de um dia mudar de volta para o ícone original. Além disso, dar ao usuário uma configuração para ativar o brinde fora permanentemente.

Baseando-se no e-mail não é uma boa idéia, como você teria que recolher os e-mails de usuários e lidar com as questões de privacidade para isso, você seria efetivamente dosagem qualquer servidor de terceiros SMTP ou teria que investir na infra-estrutura para o seu próprio.

Outras dicas

Se eu entendi corretamente, o usuário está executando este programa em seu PC, em segundo plano.

A maneira perfeita de notificar algo seria, IMHO, dando o programa é minimizado na traybar, um pequeno pop-up que clicado, abrirá uma janela com um relatório semanal.

Espero que isso ajude.

Se você levá-los para especificar seu próprio servidor SMTP, certifique-se de colocar um botão "Enviar email de teste" lá para que possam testá-lo. Eu sei por experiência que os usuários sempre inserir os detalhes errados quando especificar um servidor SMTP, nome de usuário, senha, que é agravada uma vez que alguns servidores SMTP requerem um nome de usuário / senha e outros não.

Se o fizerem inserir os detalhes errados (ou eles mudam), então você pode precisar de ter alguma forma de enviar-lhes relatórios mais antigos, ou ter alguma outra forma de notificar-lhes que você não pode enviar e-mail.

grande de e-mail, mas você pode precisar de um método alternativo também.

O Google para o Windows Server smtp simples dá-lhe este

Para ser honesto, se você está apenas enviando as coisas uma vez por semana de e-mail é a sua melhor aposta, pois não é o bastante frequente para garantee que o usuário estará em sua máquina de aceitar algum outro tipo de pedido, o que exigiria a gravação software proprietory.

Você pode alternativamente publicá-la em um canal de IRC, ou escrever um MSN bot a mensagem que o usuário, a mensagem seria enviada como uma mensagem desligada se o usuário estava offline.

Eu ainda iria para e-mail, é testada e comprovada.

Para um simples servidor SMTP eu uso HMail . Eu configurá-lo para aceitar todas as solicitações SMTP da máquina local, independentemente da origem e destino, e para negar quaisquer pedidos de SMTP não provenientes de teh localhost. Isso vai ser bom se você tiver um aplicativo com localização central.

Se você quiser distribuir o aplicativo que você tem uma situação totalmente diferente; com um monte de ISPs colocando restrições sobre o tráfego SMTP sua melhor opção seria a de permitir que os usuários para colocar em seus detalhes de conta de email e, em seguida, usar isso para enviar e-mails. Isso irá garantir que todos possam colocar em ambientes de trabalho. Em seguida, usar qualquer biblioteca ou pré-fabricados existe código para yoru linguagem de escolha para enviar um e-mail usando essas configurações.

Será que ela precisa ser um digerir semanal? Em vez disso, como sobre o uso Growl (ou equivalente) para notificar o usuário das tarefas a ser concluída em tempo real, em fundo?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top