SendGrid 与单个电子邮件的唯一参数

2023-11-21

我尝试为每封电子邮件设置一个唯一参数列表,SMTP api 的官方参考非常简单地描述了此功能,here.

我正在使用的 SendGrid PHP 库的 API 文档也没有多大帮助:

 /** 
   * setUniqueArguments
   * Set a list of unique arguments, to be used for tracking purposes
   * @param array $key_value_pairs - list of unique arguments
   */
  public function setUniqueArguments(array $key_value_pairs)
  {
    $this->header_list['unique_args'] = $key_value_pairs;
    return $this;
  }

  /**
   * addUniqueArgument
   * Set a key/value pair of unique arguments, to be used for tracking purposes
   * @param string $key   - key
   * @param string $value - value
   */
  public function addUniqueArgument($key, $value)
  {
    $this->header_list['unique_args'][$key] = $value;
    return $this;
  }

所以事实上,我的实现基于明显的逻辑结论,并决定为标头的 unique-arguments 部分创建多维 json,与替换值数组和收件人数组一一对应,但是不幸的是,这不起作用,并导致无效的 XSMTP API 标头错误被退回到我的电子邮件。

如果有人以前使用过此功能,并且可以简要指导我如何正确使用它(也许在每个 addTo 之后调用 addUniqueArgument?),这对我来说可能是一个很大的帮助。


我发现您首先提到了独特的论点,但随后您提到了完全不相关的替换。唯一参数适用于整个 API 调用,例如,这些参数可能在您的系统中包含批次 ID,以便您可以更轻松地将电子邮件事件与您的数据进行匹配。然而,替换基本上是电子邮件中的字符串替换,以针对其收件人个性化每封电子邮件,并且这些替换适用于电子邮件的每个收件人,而不是 API 调用。

Sendgrid 唯一参数

如果您使用他们的 API 库,则不必弄乱 JSON 请求标头,只需像使用任何其他 PHP 对象一样使用该库即可。例如,如果您必须设置三个变量,var1, var2, var3要么是这个:

$Sendgrid -> setUniqueArguments(array(
    'var1' => 'value1',
    'var2' => 'value2',
    'var3' => 'value3'
));

or this:

$Sendgrid -> addUniqueArgument('var1', 'value1');
$Sendgrid -> addUniqueArgument('var2', 'value2');
$Sendgrid -> addUniqueArgument('var3', 'value3');

区别在于第一个选项setUniqueArguments完全替换您之前添加的任何其他变量,但第二个变量除外,addUniqueArgument,向现有变量添加一个变量。

发送网格替换

假设您正在使用他们的 API 库并且您有 2 个收件人,[电子邮件受保护]和 alice@example com,您需要在电子邮件中提及他们的名字。在这种情况下,您在电子邮件正文中使用占位符字符串,基本上是任何正常情况下不会出现的内容。在我们的例子中,我们假设它可能是:

Hello <<Name>>

where <<Name>>是收件人姓名的占位符。在这种情况下,您可以这样构建 API 调用(我省略了与电子邮件内容等相关的部分):

$Sendgrid -> addTo('[email protected]');
$Sendgrid -> addTo('[email protected]');
$Sendgrid -> addSubstitution('<<Name>>', array('Bob', 'Alice'));

中的值addSubstituion呼叫的顺序必须与收件人列表的顺序相同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SendGrid 与单个电子邮件的唯一参数 的相关文章

  • PDO 和 Microsoft SQL:必须声明表变量“@P1”

    我正在尝试使用 PDO 中的绑定从 Microsoft SQL 数据库中选择一些条目 我正在使用的代码看起来与我在文档中找到的代码类似 但是 当我运行它时 我收到以下警告 警告 PDOStatement execute pdostateme
  • 通过 XMLHttpRequest 将数据从 JavaScript 发送到 PHP

    再会 我正在尝试将一段简单的数据从一个 php 文件 manage php 发送到另一个 view php 我无法通过表单发送数据 我想通过 JS 脚本发送数据 这是我的尝试 var read function id xmlhttp new
  • 在php中获取二进制数据大小的正确方法是什么?

    我已阅读文件的一部分 现在想确保该部分的大小正确 我怎样才能在 php 中做到这一点 part fread file 1024 return some function part 1024 我已经阅读了这些示例 但我怀疑是否要使用 strl
  • 当存在联系时如何为数组分配排名号

    当尝试为数组中存在平局的数值分配排名时 我很难知道从哪里开始 因此 例如 我需要像下面这样转换一个数组 myarray 4 76 34 13 34 到另一个数组中 例如 myarray2 1 5 3 5 2 3 5 基本上 当相同的数字在数
  • 未捕获的 ValueError:mysqli_stmt::execute():参数 #1 ($params) 必须是列表数组

    我试图通过这两个查询在我的数据库中插入准备好的语句多个值 这两个查询都发生故障 返回 未捕获的错误 调用未定义的方法 mysqli stmt bindValue 对于第一个代码或 未捕获的 ValueError mysqli stmt ex
  • 计算两个数字之间的差异

    我想计算两个给定数字之间的差异 例如 1 5 或 24 35 我必须将数组中的数字分开并写出它们之间的差异 如下所示 1 2 3 4 5 或 24 25 26 27 28 29 30 31 32 33 34 35 是否有任何 php 函数可
  • 如何在 标签中用 %20 替换空格

    我想替换 html 文本的图像标签中的所有空格 Example img src to img src photo 201 jpg 我没有找到 preg replace 的解决方案 但它可能是一个简单的正则表达式行 谢谢 Edit 抱歉各位
  • mongodb对话系统

    我正在实施一个verymongodb 上的简单对话系统 这个想法应该是 当我打开一个 convo 时 它应该显示发送和接收的消息 到目前为止一切正常 并且应该非常容易 通过使用像这样的伪代码这样的简单查询 from my id AND to
  • 如何在 Laravel 5.5 中编辑“页面因不活动而已过期”的视图

    在 Laravel 5 5 中 当您使用 CSRF 保护 默认情况下 并且在长时间不活动后发送发布请求时 您将收到此错误页面 屏幕截图 我对此错误表示同意 但是 我需要更改此错误的视图 文本以确保与我的应用程序风格和语言相匹配 关于如何编辑
  • 如何从 Laravel 5 中的 Public/Images 文件夹中删除图像(URL 数据)

    如何从 laravel 5 中的 public images 文件夹中删除图像文件 我从这个网站找到了一些例子 但我知道他们只是在他们的文件中使用文件名record table 但我正在使用类似的东西URL e g localhost pr
  • php 在内容前插入十六进制字符数

    我正在将网站移动到新服务器 旧服务器有 php 5 3 2 新服务器有 php 5 5 9 Centos httpd Apache 2 2 26 我已经复制了文件 它工作正常 除了唯一奇怪的事情 一些奇怪的十六进制数字被插入到页面内容之前
  • jQuery和PHP中如何知道返回数据是Json还是String?

    我想在客户端 jQuery 检查 PHP 函数返回的数据是否是 Json 对象或 String 来分配不同的函数 如果 json 的格式不正确 jQuery 的 parseJson 将生成异常 您可以将调用包装在 try catch 块中
  • PHP header() 和 jquery mobile

    我想使用 php header Location newpage php 进行重定向 我没有收到错误 但 Jquery mobile 似乎无法加载目标页面 并且地址栏仍保留旧地址 请问您有什么建议吗 Thanks 尝试添加data ajax
  • Propel Query 中的动态表名称

    我想知道您是否可以使 propel 查询的表名称动态化 有点像变量 一个例子类似于 DynamicVar Query create 我让它在 ifs 中工作 就像下面的例子一样 但如果更动态地制作 可以删除相当多的行 这些表的设置都是相同的
  • 如何在 Laravel 5 中处理嵌套的 JSON 对象请求?

    我们在 Laravel 5 和 AngularJs Ionic 中运行此 Web 服务来处理 Web 当我们将请求从 Web 客户端 发送到 Web 服务 后端 时 我们传递了嵌套的 JSON 对象 我们在读取服务器端父对象下的所有子对象时
  • WAMP 不显示目录列表中的图标

    过去 我通过 vmware 处理 PHP 代码 但最近我决定转而通过 WAMP 在 Windows 8 1 上 在本地进行处理 我创建了一个空文件夹tests in the www folder 然后在我的浏览器上输入http localh
  • 登录后所有页面都应该是https吗?

    这有点难以解释 但我会尽力 有一个网站 每个页面上都有登录表单 其中包含用户名 密码字段 这些页面未使用 SSL 用户填写用户名 密码并提交表单后 表单将被发送到 https 的身份验证页面 对于这种情况我有几个疑问 向 https 页面提
  • 如何在 joomla 模块中通过 javascript 发送输入文件类型

    我想将带有 javascript 的文件发送到 php 文件 我的 php 文件中有这个表单
  • 在 MySQL 中搜索多个单词

    我使用 HTML 表单来允许用户查找数据库表中的条目
  • 处理查询字符串参数时 Codeigniter 缓存问题

    问候 我正在编写一个 CI Web 应用程序 它实现标准文件缓存功能 如下所示 this gt output gt cache n 我使用了段和查询字符串参数的组合 因此似乎遇到了问题 我在用例和输出类代码中看到的是 缓存仅基于段 像这样

随机推荐

  • java中双精度乘法的精度?

    java中双精度值的乘法运算符的保证精度是多少 例如 2 2 100 是 220 00000000000003 但 220 是双精度数 220 00000000000003 是 220 之后的下一个双精度值 乘法工作正常 但是2 2不能精确
  • SwipeRefreshLayout setRefreshing() 最初不显示指示器

    我有一个非常简单的布局 但是当我打电话时setRefreshing true in onActivityCreated 我的片段 它最初没有显示 它仅在我进行拉动刷新时显示 有什么想法为什么它最初没有出现吗 片段 xml
  • Weak_ptr 如何知道共享资源已过期?

    考虑以下代码 include
  • 源代码控制 - 如果、为什么、如何开始? [复制]

    这个问题在这里已经有答案了 可能的重复 使用源代码管理 因此 尽管 Stack Overflow 上确实有几十个关于版本控制的内容 但我找不到好东西来回答我的所有问题 如果您有任何话要说或发布链接 请在此处进行 1 需要从版本控制入手吗 虽
  • 基于要在 MSBUILD 中使用的用户定义目录创建 wix 片段文件的最佳方法

    本着 Si 提出这个问题的精神 WiX 技巧和技巧 我正在尝试确定基于目录创建 wix 片段的最佳方法 可以这么说 文件收获 例如 在 bin release 文件夹下 我可以有许多不同的文件夹以及我想在片段中轻松捕获的文件 我一直通过输入
  • Android Systrace 跟踪文件格式

    Android systrace工具 调用atrace通过亚行工具 但是 我不太了解跟踪文件的格式 显然它与linux非常相似ftrace工具有一些差异 主要区别在于它不使用系统映射文件 但它将所有信息包含到跟踪文件中 此外 还有 Andr
  • 从 php 脚本运行 git pull

    我正在尝试完美的工作流程 使用 Git GitHub 和 SSH 除了运行命令之外 我已经设置好了一切git pull来自 PHP 当我跑步时exec git pull i get 无法创建目录 ssh 主机密钥验证失败 fatal 远端意
  • 为什么HashMap的初始容量是16(2的幂)而Hashtable的初始容量是11(素数)?

    如果您知道请描述原因 我用谷歌搜索 但没有找到解释清楚的答案 是为了当你的时候使桶的索引为正吗hashCode是负数吗 For HashMap 存储 Map 条目的数组中的索引是这样计算的 其中h计算自hashCode的密钥 static
  • PyQt 中支持拖放的 QTreeView

    在 PyQt 4 中 我想创建一个 QTreeView 可以通过拖放操作重新组织其结构 我已经为 QTreeView 实现了自己的模型 QAbstractItemModel 因此我的 QTreeView 可以正确显示数据 现在我想添加对树节
  • 查找所选顶点的最小生成树的算法

    人们可以使用 Prim 算法或 Kruskal 算法来查找顶点 节点和边 链接集合的最小生成树 图 不过 我想要的是一种找到该集合的最小生成图的算法 但生成的图需要仅包含任意选择的节点 而不是所有节点 如果结果图包含的节点多于所需的节点也没
  • 如何在 ActiveAdmin 中添加返回应用程序的链接?

    我需要在 ActiveAdmin 页面中添加一些指向应用程序某些页面的链接 我可以使用侧边栏来完成此操作 但我必须为每个资源重复代码 无论如何 是否可以向标题添加自定义链接 或者定义一个针对所有资源显示的侧边栏 我也不想忽略在initial
  • 奇怪的 Maven 内存不足错误

    我目前正在尝试使用 hudson 调用 Maven 来构建我的项目 我不断遇到内存不足错误的问题 我在所有环境变量 hudson 配置和 hudson 项目配置中设置了 xmx 和 xms 我将 xmx 设置为 1500 mb 这应该足够了
  • java中的对象有内存大小限制吗?

    我们可以拥有任意大小的 Java 对象而不用担心异常吗 我将使用一个类的对象 该类包含一个ArrayList数千个其他对象 其中包含几个HashMaps and ArrayLists 和许多其他非原始类型 谢谢 如果你有一个对象 我们称之为
  • 使用 devtools 构建 .md vignette

    我在用着knitr rmarkdown but knitr knitr和我的一样 VignetteEngine 然后我使用构建我的包小插图devtools build vignettes 这可行 但只能在以下位置创建 HTML 和 R 输出
  • IE Date.parse 方法对于带有时间字符串的日期返回 NaN

    我们正在尝试用时间戳字符串解析日期 它在 IE 中崩溃 但在 FireFox 中工作正常 这是代码 警报 新日期 Date parse 2010 01 31T12 00 00 233467 05 00 有什么办法让它在 IE 浏览器中工作吗
  • 使用sbt编译Java注解

    我已经在下面创建了 Java 注释 因为我需要运行时保留 PROJECT src main java我的 scala 代码使用了这些 java 注释 PROJECT src main scala 这样创建的 Java 注释也使用 Java
  • ListView 布局与 RTL 语言(阿拉伯语)渲染不一致

    我有简单的 ListView 和 ArrayAdapter 正在工作正好 问题始于RTL语言 在本例中为阿拉伯语 当你第一次打开它时 一切看起来都很好 但向下滚动并向后滚动后 某些项目似乎渲染不正确 代码很简单 请注意 如果我不重复使用视图
  • 缓存 URL 图像 iphone UITableview

    我正在寻找有关如何将从 url 加载的图像缓存到 uitableview 单元格中的教程 我在这里找到了一个例子 http www ericd net 2009 05 iphone caching images in memory html
  • 如何从 JavaScript 中的 URL 中提取 GET 参数? [复制]

    这个问题在这里已经有答案了 可能的重复 在javascript中使用url的get参数 假设我有这个网址 s http mydomain com q microsoft p next 在这种情况下 如何从字符串中提取 microsoft 我
  • SendGrid 与单个电子邮件的唯一参数

    我尝试为每封电子邮件设置一个唯一参数列表 SMTP api 的官方参考非常简单地描述了此功能 here 我正在使用的 SendGrid PHP 库的 API 文档也没有多大帮助 setUniqueArguments Set a list o