2008-10-30 2 views
2

У меня есть программа, которая по большей части работает в фоновом режиме. Скажем, это DoWork(). Один раз в неделю я хочу, чтобы он уведомил пользователя о некоторых работах, которые он завершил за последние несколько дней. Это будет основной отчет о состоянии, содержащий список загруженных файлов.Каков наилучший способ предоставить пользователям еженедельные обновления из вашей программы?

Первоначально, я хотел отправить это обновление статуса по электронной почте, поэтому я рассмотрел это, но есть много проблем. Мне нужен SMTP-сервер, поэтому я посмотрел на GMail. Это нормально, но имеет ежедневный лимит в 500 электронных писем, поэтому это не подходит для выпуска. Кроме того, были бы проблемы с тем же паролем учетной записи электронной почты, который выдается в каждой копии программы, которая, как я понимаю, является риском, даже если пароль хранится с использованием шифрования.

Тогда я подумал, может быть, я мог бы использовать собственную учетную запись пользователя для отправки электронной почты самому себе. У этого также есть несколько осложнений: пользователю нужно будет указать всю информацию smtp для своей учетной записи электронной почты, что слишком сложно для целевого пользователя. Кроме того, я не хочу, чтобы люди вводили свой пароль учетной записи электронной почты в мою программу, чтобы отправлять электронные письма. Я не думаю, что это хорошая привычка продвигать.

Есть ли способ, которым я мог бы это сделать по электронной почте? Электронная почта была моим первым выбором, потому что это система уведомления, которую пользователи уже будут проверять. Это довольно неинтрузивно.

Нужно ли настроить собственный SMTP-сервер? Если да, то как я могу это сделать?

Если сообщение электронной почты не работает, я также думал о том, чтобы просто создать локальный файл HTML с соответствующей информацией, а затем получить уведомление от программы раз в неделю, чтобы сообщить пользователю, что новый отчет об обновлении готов. Я думаю, что это полностью выполнимо, это просто чрезмерно интрузивно, а не мой первый выбор. Я хочу скомпоновать систему, которую пользователь уже использует.

Спасибо! Грег

+0

Это приложение для Windows? .NET Framework? – TheSoftwareJedi 2008-10-30 23:29:15

+0

Для этого приложения да, C# .NET. – greg7gkb 2008-10-31 00:13:54

+0

... и приложение для Windows. Я не понимал, что платформа имеет отношение к любому вопросу StackOverflow. – greg7gkb 2008-10-31 00:38:44

ответ

2

Альтернатива заключается в том, чтобы программа генерировала канал RSS и направляла пользователя, как подписаться на него. Кроме того, после создания нового обновления покажите тост обновления примерно на минуту, затем спрячьте его автоматически и измените значок systray на что-то другое. Примерно через день измените его на исходный значок. Кроме того, дайте пользователю настройку, чтобы выключить тост.

Опираясь на электронную почту, это не очень хорошая идея, так как вам нужно будет собирать электронные письма пользователей и решать проблемы конфиденциальности для этого, вы бы эффективно использовали любой сторонний SMTP-сервер или им пришлось бы инвестировать в инфраструктуру для твой собственный.

0

Google для простых окон SMTP-сервер дает this

Чтобы быть честным, если вы просто посылать вещи, один раз в неделю по электронной почте является лучшим выбором, так как это не достаточно часто, чтобы гарантируем, что пользователь будет на его машине принять другой запрос, который потребует от вас написать собственное программное обеспечение.

Вы также можете отправить его на канал irc или написать MSN-боту для сообщения пользователя, сообщение будет отправлено как автономное сообщение, если пользователь был в автономном режиме.

Я по-прежнему ищу электронную почту, она проверена и проверена.

+0

Мое понимание от чтения в сети заключается в том, что отправка почты из «localhost» приведет к тому, что она будет автоматически отклонена многими серверами (например, hotmail, aol mail и т. Д.). Поэтому я не думаю, что это хорошее решение. – greg7gkb 2008-10-30 23:51:53

1

Если я правильно понял, пользователь запускает эту программу на своем компьютере, в фоновом режиме.

Идеальный способ оповестить что-либо о том, что ИМХО, предоставляя программу, сводится к минимуму в лоток, маленькое всплывающее окно, которое щелкнуло, откроет окно с еженедельным отчетом.

Надеюсь, это поможет.

0

Для простого SMTP-сервера я использую hmail. Я настраиваю его для приема всех SMTP-запросов с локального компьютера, независимо от источника и адресата, и для отказа в запросах SMTP, не входящих в localhost. Это будет хорошо, если у вас есть приложение с централизованным расположением.

Если вы хотите распространять приложение, у вас есть совершенно другая ситуация; с большим количеством интернет-провайдеров, устанавливающих ограничения на трафик SMTP, лучшим вариантом будет предоставить пользователям возможность вводить данные своей учетной записи электронной почты, а затем использовать их для отправки почты. Это гарантирует, что каждый сможет установить рабочие параметры. Затем используйте любую библиотеку или готовый код для выбора языка yoru для отправки электронной почты с использованием этих настроек.

1

Если вы хотите, чтобы они указали свой собственный SMTP-сервер, убедитесь, что вы положили на него кнопку «Отправить тестовую электронную почту», чтобы они могли ее протестировать. Я знаю по опыту, что пользователи всегда вводят неправильные данные при указании сервера smtp, имени пользователя, пароля, который усугубляется, поскольку некоторые серверы smtp требуют имени пользователя/пароля, а другие нет.

Если они вводят неправильные данные (или они меняются), вам может потребоваться какой-то способ отправить их более старым отчетам или получить другой способ уведомить их о том, что вы не можете отправлять электронную почту.

Большое спасибо электронной почте, но вам может понадобиться альтернативный метод.

-1

Нужно ли быть еженедельным дайджестом? Вместо этого, как об использовании Growl (или эквивалент), чтобы уведомить пользователя о задачах, выполняемых в режиме реального времени, в фоновом режиме?

Смежные вопросы