Frequenz Etikette
Ich denke, dass wichtiger als "nicht mehr als eine pro Woche verschickt" "so selten wie möglich verschickt" wird.
Wenn Sie zwei in einer Woche versenden MÜSSEN, dann tun Sie dies. Aber wenn Sie sie nicht verschicken müssen, dann verschicken Sie nichts.
Alternativ können Sie den Newsletter-Stil festlegen und ihn regelmäßig (nach Zeitplan) versenden. In diesem Fall müssten Sie jedoch sicherstellen, dass Sie in jeder Nachricht bestimmte relevante Dinge zu sagen haben.
Benutzerfreundlichkeit
Machen Sie es unglaublich einfach, sich anzumelden und abzumelden.
Machen Sie es ihnen unglaublich einfach (und optional), es anzupassen.
Sie haben eine fein abgestimmte Steuerung erwähnt. Beachten Sie jedoch, dass Kunden, die lange Listen mit Kontrollkästchen sehen, umso mehr E-Mails erhalten, je mehr Kästchen angeklickt werden. Ich neige dazu, weniger zu klicken.
Eine Methode, die Sie verwenden könnten, ähnelt der von Facebook "Ich mag das" "Ich mag das nicht". Das einzige Problem ist, dass Sie eine Menge Daten (und komplexe) Logik benötigen, um ein solches Schema zu implementieren.
Kurze direkte E-Mails wären am besten (im Gegensatz zu dieser Antwort). Fügen Sie Links zu den Informationen hinzu, obwohl dies dazu führen kann, dass Ihre E-Mails als Spam markiert werden.
Viele Leute haben erwähnt, dass sie die E-Mails nicht verkaufen, ich denke, das ist eine Selbstverständlichkeit, aber die andere Facette ist etwas, das Frakkle erwähnt hat. Keine Person auf Ihrer Mailingliste hat die Möglichkeit, die Informationen über andere Personen auf der Mailingliste abzurufen. Nicht einmal Leute bccing. Verfassen Sie immer individuelle und direkte E-Mails.
Programmatisch
Verwenden Sie in diesem Fall wie bei vielen anderen Programmierproblemen den Diensttyp, mit dem Sie am besten vertraut sind. Ich glaube nicht, dass die Unterschiede zwischen einem ASP.NET-Dienst und einem Windows-Dienst größer wären als die Unterschiede in Ihren eigenen Fähigkeiten.
Protokollierung
Bei der Protokollierung mit einem Windows-Dienst habe ich gute Erfahrungen mit Log4Net gemacht. In Bezug auf (den viel wichtigeren) Inhalt. Sie sollten einige Dinge protokollieren (falls zutreffend).
- Empfänger
- Uhrzeit gesendet
- Inhalts-Tags
- Aktuelle Nachrichtenwarteschlange
1) Empfänger
Ein integraler Bestandteil loggt sein , weil oft Fehler in dem ‚Service‘ sind tatsächlich Fehler mit dem Empfänger. Sie können sich das Chaos vorstellen, das entstehen würde, wenn sich Ihr Testpostfach füllt und anfängt, Nachrichten abzulehnen.
2) Uhrzeit gesendet
Sehr wichtig aus offensichtlichen Gründen. Die meisten Logger stempeln trotzdem jede Nachricht.
3) Inhalts-Tags
Wenn Sie einen benutzerdefinierten modularen Inhalt senden, wird es wahrscheinlich eine Reihe von Inhalts-Tags geben, die auf ihren Einstellungen basieren ("VideoGames, StackOverflowNews, Lederhosen"). Auf diese Weise können Sie viel genauer nachverfolgen, was möglich ist mit einer bestimmten Klasse von E-Mails, die fehlschlagen, falsch liegen.
4) Aktuelle Nachrichtenwarteschlange
Viele der Probleme können behoben werden, indem dieser Wert jedes Mal protokolliert wird. Es zeigt Ihnen die Zeiten, in denen Ihr Programm extrem langsam ist, und es zeigt Ihnen auch, wenn es merkwürdigerweise schneller als normal ist (verdächtig leere Warteschlange). Dieser wird mehr Probleme aufzeigen als jeder andere.