V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
LeanCloud
V2EX  ›  推广

定时发送个性化邮件开发教程

  •  
  •   LeanCloud · 2020-02-27 15:30:20 +08:00 · 2033 次点击
    这是一个创建于 1734 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我们生活中接触到的很多互联网服务都有定时发送个性化邮件提醒的功能,比如信用卡公司会在客户每个月的账单日发出还款提醒,还有项目管理类应用会定期给用户发送即将到期的待办事项的汇总。作为应用开发者,我们该如何去实现这类功能呢?

    很多邮件群发服务商允许你设定时间间隔来自动向用户发送邮件,不过这类服务的缺点是内容无法做到高度定制化。通常你可以在邮件模版中插入能够在用户列表里找到的姓名、称谓等资料,但这些资料都是静态的。如果我们希望邮件内容可以基于用户的实际使用数据来动态生成(比如在还款提醒里面插入还款金额),那么这其中一定需要某种机制从应用的数据库中拉取与用户相关的数据(通常还需进行一定的计算),这是基于模版的群发服务做不到的。另外如果需要在不同时间向不同用户发送提醒(比如不同的信用卡客户有不同的账单日,或者应用允许用户自定义接收提醒的时间和频率),那么如何管理发送时间也成了难题。

    所以如果想要给用户个性化的提醒,就需要独立于邮件群发服务商之外维护一个定时器,这个定时器应该能够主动访问应用数据库并基于获取到的数据执行特定的代码;与此同时,选用一个支持通过 API 调用来传入邮件内容和收件人的邮件服务商,让前面的定时器在需要发送邮件时将相关数据传入 API。

    代码从数据库获取数据,然后基于这些数据编写邮件

    我们制作了一个展示如何实现这些功能的 Demo。这个 Demo 包含了一个最基本的 Todo 应用,用户可以创建 Todo 项目并为每个项目设置一个截止时间,Todo 会被保存在 LeanCloud 的数据存储服务中。这个 Demo 还包含一个云函数(可以在云端执行的代码),用于查询是否有在接下来一定时间内到期但尚未完成的项目,如果有的话就会调用 SendGrid 的 API 给一个固定地址发送一封包含这些项目的邮件。这个云函数会被托管在 LeanCloud 云引擎上面,每隔一段时间执行一次。

    如果大家感兴趣请 点击这里查看具体教程 >>>

    2 条回复    2020-02-27 23:44:52 +08:00
    dingdangnao
        1
    dingdangnao  
       2020-02-27 15:43:49 +08:00
    邮件还是算了吧😂自己写的 telegram 小机器人 也很好用啊😂
    CEBBCAT
        2
    CEBBCAT  
       2020-02-27 23:44:52 +08:00
    (一篇真正的好文,应该让一个乏困的旅人也能明白你是谁,你要说什么)

    楼主下次可以尝试用总分总来写软文
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1068 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 22:15 · PVG 06:15 · LAX 14:15 · JFK 17:15
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.