如果您要为网站的客户设置电子邮件警报以进行订阅,则应遵循哪些礼节规则?
我能想到的几个问题:
- 用户可以选择退出
- 纯文字(或高雅的远程图像)
- 每周发送不超过一次
- 客户可以对其收到的电子邮件进行细粒度的控制(仅接收他们感兴趣的内容)
我还应该考虑什么?
从编程的角度来看,设置和运行电子邮件通知的最佳方法是什么?
- 我应该使用ASP.NET服务吗?Windows服务?两者都有什么陷阱?
- 我应该如何记录发送的电子邮件?我不在乎是否会收到邮件,但我确实需要能够证明自己已发送或未发送电子邮件。
如果您要为网站的客户设置电子邮件警报以进行订阅,则应遵循哪些礼节规则?
我能想到的几个问题:
我还应该考虑什么?
从编程的角度来看,设置和运行电子邮件通知的最佳方法是什么?
Answers:
选择退出过程不应为“回复主题中带有“取消订阅”的电子邮件”。我对所有订阅都使用了全部接收功能(有助于控制垃圾邮件),因为我无法从我给出的每个地址(wallmart_username@domain.com)进行回复。这使我很难退订某些列表。
选择退出链接效果最佳。
我宁愿选择退出,也不愿选择退出。
这不仅是礼节,更是美国法律:
根据《反垃圾邮件法》:
它要求您的电子邮件为收件人提供选择退出的方法。您必须提供回信电子邮件地址或其他基于Internet的响应机制,该机制允许收件人要求您不要再向该电子邮件地址发送电子邮件,并且您必须兑现请求。您可以创建一个选项的“菜单”,以允许收件人选择退出某些类型的邮件,但是您必须包括该选项以终止来自发件人的任何商业邮件。
您提供的任何退出机制都必须能够在您发送商业电子邮件后至少30天内处理退出请求。当您收到退出请求时,法律会给您10个工作日,以停止向请求者的电子邮件地址发送电子邮件。您无法帮助另一个实体将电子邮件发送到该地址,或让另一个实体代表您将电子邮件发送到该地址。最后,出售或转让那些选择不接收电子邮件的人的电子邮件地址是非法的,即使是以邮件列表的形式,除非您转移地址以使另一个实体可以遵守法律。
我并没有完全了解此功能。从amazon.com或guitarcenter.com等某些网站,我喜欢无需单击外部链接即可直接查看电子邮件中提供的产品的功能。此外,如果我不想看到Gmail,GMail仍然可以阻止它们。但是,我想,如果您要控制整个过程,则可以提供一个复选框供用户选择HTML或纯文本电子邮件。
决定您应该多久发送一次批量电子邮件通知非常困难,因为这实际上取决于您网站的内容。我同意每周提交是一个好的开始。
我想真正的答案取决于可伸缩性。您将发送多少封电子邮件,以及每隔多长时间发送一次?我想如果您发送的电子邮件数量相对较少,那么创建Windows服务将是最可维护和可定制的解决方案。如果您需要更强大的解决方案,我会寻找专业的群发电子邮件产品。
您可以在SQL数据库或纯文本日志文件中执行此操作。这实际上取决于您如何审核这些详细信息。如果您需要其他人来验证是否已发送某些电子邮件,则可以轻松地围绕数据库构建系统。我想尽管这将不是必需的。
如果您使用纯文本日志文件路由,则由于提到了.NET ,因此可以使用成熟的日志记录系统,例如log4net。
至于要记录什么,我会期望像:
To:
行不包含100个电子邮件地址频率礼节
我认为比“每周发送不超过一个”更重要的是“尽可能不发送出去”
如果您需要在一周内寄出两张,请发送。但是,如果您不需要发送它们,则不要发送任何东西。
或者,您可以将其设置为“新闻稿”样式,并定期(按计划)将其发送出去。但是在这种情况下,您需要确保每条消息中都有特定的相关信息要说。
便于使用
使注册和退出变得异常容易。
让他们自定义它非常容易(和可选)。
您提到了细粒度的控制,但是请记住,当客户看到一长串关于他们喜欢和不喜欢的复选框时,他们知道单击的框越多,收到的邮件就越多,因此他们倾向于点击较少。
您可以使用的方法类似于Facebook的“我喜欢”,“我不喜欢”,唯一的问题是您需要大量数据(和复杂的)逻辑来实现这样的模式。
简短的直接电子邮件是最好的(不同于此响应)。包括指向信息的链接,尽管这可能会使您的电子邮件标记为垃圾邮件。
许多人提到不出售电子邮件,我认为这是必然的,但另一个方面是Frakkle提到的。您的邮件列表中的任何人都没有任何方式来收集有关邮件列表中其他人的信息。甚至不b人。始终撰写个人和直接电子邮件。
以编程方式
在这种情况下,与其他许多编程问题一样,请使用您最熟悉的服务类型。我不相信ASP.NET服务和Windows服务之间的差异会比您自己的技术水平上的差异大。
记录中
对于日志记录,在使用Windows服务时,我对Log4Net有很好的经验。在(更重要的)内容方面。您应该记录一些事情(如果适用)。
1)收件人
日志不可或缺的一部分,因为“服务”中的错误通常实际上是收件人的错误。您可以想象,如果您的测试邮箱填满并开始拒绝邮件,将会造成严重破坏。
2)发送时间
出于明显的原因非常重要。无论如何,大多数记录器都会为每条消息加上时间戳。
3)内容标签
如果您要发送某种自定义的模块化内容,则可能会根据它们的首选项(“ VideoGames,StackOverflowNews,Lederhosen”)提供一组内容标签,这将使您以更细粒度的方式跟踪某类失败的电子邮件是错误的。
4)当前消息队列
每次记录此值可以启发许多问题。它向您显示程序异常缓慢的时间,还向您显示异常比正常速度快(可疑的空队列)的时间。这个问题比任何其他问题都会阐明更多的问题。
请求HTML或纯文本的选项对我很重要。
还要确保您从不发送附件。
确保回复地址有效并且不时检查该地址。并非所有人都会寻找“退出”链接。
根据您的情况,您可能希望使用完整的邮件列表,人们可以回复整个群组。不过,无论您做什么,都要确保您绝不会使用抄送副本与所有人联系-单独撰写每封邮件。
我应该如何跟踪发送的电子邮件?
如果通过跟踪,是指告诉别人是否真的看过电子邮件,那么有两种方法(我知道)可以“跟踪”电子邮件。第一种是在电子邮件中添加链接,以便阅读也可以。不利的一面是,仅当您单击链接时,这才为您提供记录。另一种方法是将远程图像嵌入到电子邮件中。当人们查看电子邮件时,如果电子邮件应用程序实际显示图像,则您应该能够查看查看远程图像的频率,从而了解多少人正在查看电子邮件。
这些都不是很好,因为它们都有缺陷,但是每封电子邮件都会给您带来无数的观看次数。