设置电子邮件通知的最佳做法和礼节


21

如果您要为网站的客户设置电子邮件警报以进行订阅,则应遵循哪些礼节规则?

我能想到的几个问题:

  • 用户可以选择退出
  • 纯文字(或高雅的远程图像)
  • 每周发送不超过一次
  • 客户可以对其收到的电子邮件进行细粒度的控制(仅接收他们感兴趣的内容)

我还应该考虑什么?

从编程的角度来看,设置和运行电子邮件通知的最佳方法是什么?

  • 我应该使用ASP.NET服务吗?Windows服务?两者都有什么陷阱?
  • 我应该如何记录发送的电子邮件?我不在乎是否会收到邮件,但我确实需要能够证明自己已发送或未发送电子邮件。

12
我宁愿选择退出也不愿选择退出。我在评论中回答,因为这实际上不是问题的编程部分。

2
@亚伦·史密斯(Aaron Smith):我建议您将其作为答案。Web开发与编程有各种切线关系,这是一个“好的”建议。
乔治·斯托克

2
关于此问题,asp.net和C#是什么?这可以在任何平台和任何语言下完成。最佳做法将适用于所有这些人。
Bratch

@Aaron,我认为这个问题暗示着用户已经在“选择加入”。但是您的笔记是非常重要的。从来没有人会自动订阅。

好吧...我会把它作为答案发布,因为大家似乎都希望我这样做。

Answers:


12

选择退出过程不应为“回复主题中带有“取消订阅”的电子邮件”。我对所有订阅都使用了全部接收功能(有助于控制垃圾邮件),因为我无法从我给出的每个地址(wallmart_username@domain.com)进行回复。这使我很难退订某些列表。

选择退出链接效果最佳。


除非您将其编辑为包含我提出的其他内容,否则我可能不会接受您的答案。
George Stocker

在大多数客户端中,更改标头中的From:地址很简单。只要在标头而不是信封上进行检查,它就会取消订阅。
Legooolas

11

我宁愿选择退出,也不愿选择退出。


4
我收到的任何我未选择加入的邮件都会放入垃圾邮件中,我会记下一个永不处理的公司,该公司再也不会向我发送不需要的邮件。我认为人们不应该向没有特别要求的人发送电子邮件,即使他们允许退出。

除非您将其编辑为包含我提出的其他内容,否则我可能不会接受您的答案。发表评论,以便您更新答案。
George Stocker

您想让我添加什么?我不介意您是否不接受它。

查看更新的问题。只是想让所有人都知道,我还没有就赏金做出决定,也要等到几个小时后才能决定。仍然让您有时间添加更多信息。
George Stocker

9

选择退出

这不仅是礼节,更是美国法律:

根据《反垃圾邮件法》

它要求您的电子邮件为收件人提供选择退出的方法。您必须提供回信电子邮件地址或其他基于Internet的响应机制,该机制允许收件人要求您不要再向该电子邮件地址发送电子邮件,并且您必须兑现请求。您可以创建一个选项的“菜单”,以允许收件人选择退出某些类型的邮件,但是您必须包括该选项以终止来自发件人的任何商业邮件。

您提供的任何退出机制都必须能够在您发送商业电子邮件后至少30天内处理退出请求。当您收到退出请求时,法律会给您10个工作日,以停止向请求者的电子邮件地址发送电子邮件。您无法帮助另一个实体将电子邮件发送到该地址,或让另一个实体代表您将电子邮件发送到该地址。最后,出售或转让那些选择不接收电子邮件的人的电子邮件地址是非法的,即使是以邮件列表的形式,除非您转移地址以使另一个实体可以遵守法律。

纯文本

我并没有完全了解此功能。从amazon.com或guitarcenter.com等某些网站,我喜欢无需单击外部链接即可直接查看电子邮件中提供的产品的功能。此外,如果我不想看到Gmail,GMail仍然可以阻止它们。但是,我想,如果您要控制整个过程,则可以提供一个复选框供用户选择HTML或纯文本电子邮件。

发行频率

决定您应该多久发送一次批量电子邮件通知非常困难,因为这实际上取决于您网站的内容。我同意每周提交是一个好的开始。

分配方式

我想真正的答案取决于可伸缩性。您将发送多少封电子邮件,以及每隔多长时间发送一次?我想如果您发送的电子邮件数量相对较少,那么创建Windows服务将是最可维护和可定制的解决方案。如果您需要更强大的解决方案,我会寻找专业的群发电子邮件产品。

记录中

您可以在SQL数据库或纯文本日志文件中执行此操作。这实际上取决于您如何审核这些详细信息。如果您需要其他人来验证是否已发送某些电子邮件,则可以轻松地围绕数据库构建系统。我想尽管这将不是必需的。

如果您使用纯文本日志文件路由,则由于提到了.NET ,因此可以使用成熟的日志记录系统,例如log4net

至于要记录什么,我会期望像:

  • 队列的开始时间
  • 每封电子邮件:
    • 在队列中的位置
    • 收件人电子邮件地址
    • 寄出时间
  • 完成时间

  • 确保在每封电子邮件中都包含您的网站名称或公司地址
  • 将相关信息保留在电子邮件的顶部,以便用户不必向下滚动
  • 使用正确的拼写并避免所有大写
  • 使用雅致的低带宽图像
  • 确保每封电子邮件只有一个收件人,因此该To:行不包含100个电子邮件地址
  • 不要在电子邮件中发送可识别个人身份的用户信息(例如信用卡信息)
  • 避免附件

CAN-SPAM法:商业合规指南


1
可能不是“法律” ...该行为允许“交易或关系消息”(该电子邮件...更新了现有业务关系中的客户),并且如果收件人首先请求了通知,则说明存在现有业务关系。

1
顺便说一句,大链接。
George Stocker

1
具体做法是:美国的法律

@Gortok-感谢您的更新。@WaldenL-是的,但是我不能假设有一个。@JeffH-好点,添加到答案中。

关于分发频率:确保用户预先知道分发频率。例如“ [x],请向我发送有关abcxyz的每周更新”

6

频率礼节

我认为比“每周发送不超过一个”更重要的是“尽可能不发送出去”

如果您需要在一周内寄出两张,请发送。但是,如果您不需要发送它们,则不要发送任何东西。

或者,您可以将其设置为“新闻稿”样式,并定期(按计划)将其发送出去。但是在这种情况下,您需要确保每条消息中都有特定的相关信息要说。

便于使用

使注册和退出变得异常容易。

让他们自定义它非常容易(和可选)。

您提到了细粒度的控制,但是请记住,当客户看到一长串关于他们喜欢和不喜欢的复选框时,他们知道单击的框越多,收到的邮件就越多,因此他们倾向于点击较少。

您可以使用的方法类似于Facebook的“我喜欢”,“我不喜欢”,唯一的问题是您需要大量数据(和复杂的)逻辑来实现这样的模式。

简短的直接电子邮件是最好的(不同于此响应)。包括指向信息的链接,尽管这可能会使您的电子邮件标记为垃圾邮件。

许多人提到不出售电子邮件,我认为这是必然的,但另一个方面是Frakkle提到的。您的邮件列表中的任何人都没有任何方式来收集有关邮件列表中其他人的信息。甚至不b人。始终撰写个人和直接电子邮件。

以编程方式

在这种情况下,与其他许多编程问题一样,请使用您最熟悉的服务类型。我不相信ASP.NET服务和Windows服务之间的差异会比您自己的技术水平上的差异大。

记录中

对于日志记录,在使用Windows服务时,我对Log4Net有很好的经验。在(更重要的)内容方面。您应该记录一些事情(如果适用)。

  1. 接受者
  2. 寄出时间
  3. 内容标签
  4. 当前消息队列

1)收件人

日志不可或缺的一部分,因为“服务”中的错误通常实际上是收件人的错误。您可以想象,如果您的测试邮箱填满并开始拒绝邮件,将会造成严重破坏。

2)发送时间

出于明显的原因非常重要。无论如何,大多数记录器都会为每条消息加上时间戳。

3)内容标签

如果您要发送某种自定义的模块化内容,则可能会根据它们的首选项(“ VideoGames,StackOverflowNews,Lederhosen”)提供一组内容标签,这将使您以更细粒度的方式跟踪某类失败的电子邮件是错误的。

4)当前消息队列

每次记录此值可以启发许多问题。它向您显示程序异常缓慢的时间,还向您显示异常比正常速度快(可疑的空队列)的时间。这个问题比任何其他问题都会阐明更多的问题。


4
我正要问“为什么不密送?” 但是一项研究表明:“ ...通过Internet发送的每封电子邮件都包含所有地址,包括密件抄送地址。仅在目标电子邮件服务器上从密件副本电子邮件中删除密件抄送地址。” +1我不知道的事情。

感谢Gortok的提示。抱歉,我没有其他帮助。

5

请求HTML或纯文本的选项对我很重要。

还要确保您从不发送附件。

确保回复地址有效并且不时检查该地址。并非所有人都会寻找“退出”链接。

根据您的情况,您可能希望使用完整的邮件列表,人们可以回复整个群组。不过,无论您做什么,都要确保您绝不会使用抄送副本与所有人联系-单独撰写每封邮件。


除非您将其编辑为包含我提出的其他内容,否则我可能不会接受您的答案。发表评论,以便您更新答案。
乔治·斯托克,

5

-The应该能够一键退出。
-选择退出过程应允许用户在遇到麻烦时选择加入。
-您应该始终让用户选择加入。不要自动选择加入用户。
-禁止将电子邮件地址出售或分发给其他站点,公司或金钱。


除非您将其编辑为包含我提出的其他内容,否则我可能不会接受您的答案。发表评论,以便您更新答案。
乔治·斯托克

3

从您的问题和答案中总结:

  • 仅选择加入
  • 用户了解的“良好”隐私政策,包括不与其他方共享电子邮件
  • 轻松的“我改变了主意”机制,单击取消订阅(不回复)
  • HTML或纯文本选项
  • 符合美国的CAN-SPAM

我将添加:

  • “转发给朋友”选项
  • “如果已转发给您并且您想订阅...”选项
  • 用户退订时可以选择向他们发送退订原因的评论-通常为复选框(经常出现,我很忙,收到太多电子邮件,内容与我无关,等等)和“其他原因”文本框
  • 权限提醒:“您<email_address>由于单击... 而收到此电子邮件,”
  • 如果用户选择了HTML,则为“如果您无法阅读此内容,请单击此处在线查看页面”链接

2

订阅前请确保您的隐私声明可用,并且其中提及您的电子邮件策略。


2

我应该如何跟踪发送的电子邮件?

如果通过跟踪,是指告诉别人是否真的看过电子邮件,那么有两种方法(我知道)可以“跟踪”电子邮件。第一种是在电子邮件中添加链接,以便阅读也可以。不利的一面是,仅当您单击链接时,这才为您提供记录。另一种方法是将远程图像嵌入到电子邮件中。当人们查看电子邮件时,如果电子邮件应用程序实际显示图像,则您应该能够查看查看远程图像的频率,从而了解多少人正在查看电子邮件。

这些都不是很好,因为它们都有缺陷,但是每封电子邮件都会给您带来无数的观看次数。


在此处跟踪意味着,如果我向客户发送电子邮件,则应记录该电子邮件已发送。我可能需要记录什么信息?
George Stocker

更新的问题
George Stocker

您可以通过远程图像跟踪单个电子邮件视图,例如,每个用户具有唯一uid的项目可能具有img src =“ www.mysite.com/mySaleItem.jpg?uidhash=F91xKAm307nJ”
nvuono 2011年

2

我注意到没有人建议的一件事是选择包含电子邮件的文本或图片的选项。我还希望获得更多小的新闻,因为我每天要多次检查我的电子邮件,因此询问用户是否需要每日或每周的电子邮件可能会很有用。


我通常所说的是“实时电子邮件”或“每日摘要”。(每天可能是各种时间增量,偶尔有几种可供选择)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.