You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在自动发送的邮件正文中插入数据库表中的客户姓名字段

如何在自动发送的邮件正文中插入数据库表中的客户姓名字段

嘿,我看你已经在搭建自动发货通知邮件的功能了,现在想把邮件开头固定的“Dear Customer”换成数据库里对应的客户真实姓名,对吧?其实这个需求实现起来很简单,咱们基于你现有的代码来调整就行:

首先,我注意到你在GetOrders方法里已经把Name字段加入到了fields列表中,而且也从数据库查询结果里提取了这个字段的值,所以数据源这块已经没问题了~接下来只需要在邮件正文模板里把客户名字插进去就行:

  1. 修改邮件正文的模板字符串,把原来的Dear Customer换成占位符%s,这样就能动态替换成具体的客户姓名;
  2. 在格式化字符串的时候,把客户姓名和原来的PO编号一起作为参数传进去。

修改后的WriteEmailBody函数代码如下:

def WriteEmailBody(o, f):

    body = """<p><i>Dear %s,</i></p>
    
    <p><i>This message serves to notify you that your order has shipped.  
    Please keep an eye on your email PO <b>%s</b>  for shipping updates.</i></p>
    """ % (o[f.index('Name')], o[f.index('ponum')])

    body += "<p><i>CS</i></p>"

    return body

简单解释一下:

  • 我们给模板加了两个%s占位符,第一个对应客户姓名,第二个对应PO编号;
  • 格式化的时候用元组(o[f.index('Name')], o[f.index('ponum')])来传递这两个值,这样邮件开头就会变成Dear Jane Bennett,或者Dear John Wickham,,完全根据订单对应的客户信息来动态生成啦。

最后再提醒一句:记得确认你的Shipped.sql查询语句确实返回了客户姓名的列哦,不然Name字段会取不到正确的值,影响邮件效果~

备注:内容来源于stack exchange,提问作者Jade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 17:14:28