据我了解您的问题,退订网址将在电子邮件的内容中。
为了让它工作,我建议您为邮件模板生成一个唯一标识符,然后您可以使用它来识别取消订阅的用户。
检查: http: //guides.rubyonrails.org/action_mailer_basics.html点 2.1.3 - 创建邮件视图。
假设您的模板将具有以下内容:
<p>
Here is your email contents
</p>
<p><a href="#{@unsubscribe_url}">Unsubscribe</a></p>
这个 unsubscribe_url 变量会为您生成如下内容:
http://your-domain.com/newsletter/unsubscribe/unique-id-generated-for-the-user
在 config/routes.rb 文件中创建一个路由,将您带到处理取消订阅的控制器。
你也可以看看这里:http ://railscasts.com/episodes/312-sending-html-email
编辑
不幸的是,从我在 Mandrill 的文档中看到的内容来看,我认为您没有办法将合并变量与密件抄送列表中的电子邮件进行 1 对 1 映射。
这样我看到了两种可能的解决方案:
a)您实际上并没有每个用户的唯一 ID,而是您有一个通用链接,可以将您带到取消订阅页面。例如:
http://your-domain.com/newsletter/unsubscribe
这将呈现一个带有输入的页面,您可以在其中要求该人写下他们的电子邮件地址。使用此解决方案,您必须考虑不良用户行为,例如:
- 插入的电子邮件不属于您的用户列表
- 爱丽丝输入了鲍勃的电子邮件
b)你打破了对山魈的电子邮件请求的逻辑。这样,您将保留唯一的 id 登录名,而不是发送电子邮件列表以密件抄送,而是逐一发送电子邮件请求。