如何使用 xsmtp-api 和 php 库向 SendGrid 中的电子邮件主题添加替换标签

2024-04-15

我正在尝试在电子邮件的主题中设置我的客户的姓名。 这对我的申请非常重要,从我在SendGrid API 文档 http://sendgrid.com/docs/API_Reference/SMTP_API/substitution_tags.html这是很有可能!。

信息 - 替换标签将在主题行以及电子邮件正文中起作用。

问题是我似乎无法做到这一点。 起初我认为可能是因为我已经在电子邮件正文中使用了 %name% sub,所以我创建了一个新的替换参数名称 %nameSubject%, 然而,这行不通。

我使用以下代码,电子邮件中的其余参数工作得很好:

    /**
    @description Wrapper method in order to handle possible exception due to programmer\ maintainer errors.
    A part of a small wrapper class that I have designed to allow 1-line comfortable use of the the SendGrid and transport classes.
   @returns int - 1, unless there is an internal error, or an exception thrown
    */
public function execute(){
    if(!class_exists('SendGrid') || !class_exists('SendGrid\Mail')){
        throw new exception('Dependency exception SendGrid or SendGrid\Mail are not included');
    }
    if(!isset($this->mailingList) && empty($this->mailingList) || sizeof($this->mailingList) == 0){
        throw new exception('Cannot send an email to an empty set of addresses');
    }
    if(!isset($this->subject, $this->body) || empty($this->subject) || empty($this->body)){
        throw new exception('Cannot send an email without both a subject and a body');
    }

    $sendgrid = new SendGrid(SENDGRID_USER, SENDGRID_PASSWORD);

    // $this->importMailList();
    foreach($this->mailingList as $key => $val) {   
        $this->mail->addTo($key, $val);
    }
    $this->mail->
    setFrom($this->fromMail)-> 
    setSubject($this->subject)->
    setText($this->text)->
    setHtml($this->body);
    if(preg_match('/%name%/', $this->body) && !array_filter($this->mailingList, 'is_int') ){
        $this->mail->addSubstitution("%name%", array_values($this->mailingList));
    }
    return $sendgrid->smtp->send($this->mail);

}

任何帮助深表感谢!。


应为主题或正文单独设置替换标签。尝试这样的事情:

$this->mail->
setFrom($this->fromMail)-> 
setSubject($this->subject)->addSubstitution("%name%", array("Harry", "Bob"))->
...

您可以将我使用的示例数组替换为您自己的数组值。我们的文档中还有一些显示替换标签的 PHP 代码示例。 (http://sendgrid.com/docs/Code_Examples/php.html#-Using-Substitutions http://sendgrid.com/docs/Code_Examples/php.html#-Using-Substitutions)

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

如何使用 xsmtp-api 和 php 库向 SendGrid 中的电子邮件主题添加替换标签 的相关文章

  • shell_exec 的输出被截断为 100 个字符

    当在 shell 中运行以下命令时 curl F file filename http 192 168 0 1 产生以下输出 Accuracy 0 0 1 classification Accuracy 0 0 1 classificati
  • Monolog,如何将 PHP 数组记录到控制台?

    我正在使用浏览器处理程序将消息记录到 JS 控制台 require once vendor autoload php use Monolog Logger use Monolog Handler BrowserConsoleHandler
  • 简单的颜色变化

    我正在创建一个用户界面 用户可以在其中更改页面的颜色值 我想要的是获取分配给其背景颜色的值并将其变亮一定程度 我只是想获得一条亮点线 而不必每次都制作新图像 示例 用户将背景颜色设置为 ECECEC 现在我希望某个元素边框变成 F4F4F4
  • 如何通过 PDO 使用密码哈希来使我的代码更安全? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我的代码实际上可以工作 但它一点也不安全 我不想使用 MD5 因为它不是那么安全 我一直在查找密码哈希 但我不确定如何将其合并到我的代
  • PHP 和 DOM 文档

    我有一个关于 DOMDocument 的使用和创建 XML 的问题 我有一个 PHP 程序 加载到 XML 文件中 处理XML的每个节点 行 将其发送到另一个进程 然后该进程返回一个 XML 元素 我获取节点的字符串表示形式 以便可以创建
  • Php mysql 30秒后执行任务

    如何让 mysql 查询命令在访问 php 站点 30 秒后执行 您可以对执行 mysql 查询的 php 脚本发出 AJAX 请求 在 js 中使用计时器
  • php 或 zend 中国际电话号码验证的正则表达式是什么?

    我有一个 zend 表单 其中有一个电话号码字段 并且必须检查验证器 我决定为此使用正则表达式 我搜索了谷歌 但我得到的结果不起作用 谁能给我提供正则表达式 这是我的代码 phone new Zend Form Element Text p
  • 服务器响应中的“连接:保持活动状态”

    我正在尝试建立从 Silverlight 应用程序到 Apache 服务器托管的 PHP 页面的 HTTP 持久连接 即无需为每个 HTTP 请求创建新的 TCP 连接 为此 我需要网络服务器发送其 HTTP 响应 并将 Connectio
  • Symfony 学说错误“DoctrineMigrationsBundle 需要启用 DoctrineBundle。”

    我创建了一个新的 Symfony 项目 并且不断收到此消息 DoctrineMigrationsBundle 需要启用 DoctrineBundle 错误并且无法摆脱它 显然我是这个星球上唯一一个收到此错误的人 因为谷歌并没有太大帮助 在
  • json_encode 创建格式错误的 JSON 数据?

    我有一个 codeigniter 应用程序将一些数据从数据库返回到视图 我正在尝试将其作为 json 数据发送回来 问题是返回的数据格式错误 它看起来像这样 2 5 Admin1 2 10 Admin2 当我在 jsonlint com 上
  • 如何将 .env 添加到 codeigniter?

    我尝试按照以下步骤使 php 连接到 Outlookhttps learn microsoft com en us outlook rest php tutorial https learn microsoft com en us outl
  • 如何销毁一个物体?

    据我所知 很少 有两种方法 var new object Then Method 1 Set to null var null Method 2 Unset unset var 还有其他更好的方法吗 我在这里吹毛求疵吗 您正在寻找unset
  • Laravel 5.6 - 注册表无法正常工作并且不显示任何错误

    在我最近的一个项目中 定制登记表不管用 当我单击注册按钮时 它会重新加载注册表单 不会打印任何错误 并且不会将数据插入数据库中 这是注册表的外观 这里是移民文件代码 public function up Schema create user
  • PHP,文本从数据库中回显,没有换行,全部一体

    我的数据库中有一个长文本 从 php mayadmin 来看它看起来很好 但是当我将它回显到页面时 它会丢失所有格式 即没有新行 全部都在一个块中 有任何想法吗 Thanks 可能是因为换行符是 n 并且 html 想要 br 所以使用nl
  • 返回上一页

    我正在使用表格来 评价 页面 此表单将数据 发布 到其他地方的 php 脚本 我只是想在处理表单后显示一个链接 这将使用户返回到上一页 我可以在 php 脚本中使用 javascript 来执行此操作吗 GF 您可以使用链接来调用histo
  • 将单独的月、日和年值转换为时间戳

    我有月份值 1 12 日期值 1 31 和年份值 2010 2011 2012 我还有一个小时值和一个分钟值 我怎样才能把这个给strtotime 它可以以某种方式将其转换为时间戳吗 当您已经知道年月和日期时 为什么将字符串转换为日期 us
  • WooCommerce 自定义产品类型选项不隐藏自定义产品选项卡

    我刚刚向我的 WC 管理产品页面添加了自定义产品类型选项 add filter product type options this filter product type options 99 1 public function filte
  • 仅在 Chrome 上我收到此错误:Uncaught TypeError: Illegal constructor [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 当我在 Chrome 上加载 jQuery 时 我会收到此错误 Uncaught TypeError Illegal constr
  • 通过 SOAP 的 Gmt php 或 UTC C# 等效项

    is C DateTime UtcNow和 PHPdate c 是等价的 我怀疑 因为当我肥皂时 我得到了 C
  • __callStatic():从静态上下文实例化对象?

    我对 PHP 中的 静态 和 动态 函数和对象如何协同工作感到困惑 特别是在 callStatic 方面 callStatic 的工作原理 您可以有一个普通的班级 MyClass 在班级内您可以 放置一个名为 callStatic 的静态函

随机推荐

  • 如何按顺序执行异步 Mocha 测试 (NodeJS)?

    这个问题涉及 NodeJS 的 Mocha 测试框架 默认行为似乎是启动所有测试 然后在异步回调传入时对其进行处理 运行异步测试时 我想运行每个测试after之前的异步部分已被调用 我怎样才能做到这一点 重点不在于 结构化代码按照您构建的顺
  • Grails 弹簧安全/Acegi。自定义用户+密码过期管理

    我正在开发一个 Grails 遗留项目 存在一个名为 User 的域类 它包含密码 用户名 角色等 该项目使用 Spring Security 进行角色管理 我想添加凭据过期 强制用户更新其密码 我修改了 User 类 不是它实现了用户详情
  • 带有限定符的类型 Set 的依赖关系不满足

    我是创建 Web 服务 Restful api 的新手 遵循 Java Brains for Restful Web 服务的简单教程 我收到错误 内容类似于 带有限定符 Default 的类型集的依赖关系不满足 我在这里搜索了不同的问题 尝
  • 在 Python 中从复杂字符串中检索日期

    我正在尝试使用 datetime strptime 从两个字符串中获取单个日期时间 时间很容易 例如晚上 8 53 所以我可以做类似的事情 theTime datetime strptime givenTime I M p 但是 该字符串不
  • 如何在 PHP 中正确创建 HTML 链接?

    这个问题是关于正确使用原始网址编码 https www php net manual en function rawurlencode php http build query https www php net manual en fun
  • 重置引导模式

    所以 我正在使用 bootstrap 的模态 我想制作一个向导风格的模态并提出以下解决方案 div 片段 div class modal instance hide fade div div div div style display no
  • android:theme="@style/AppTheme"中textAppearance的默认值是textAppearanceSmall吗?

    当我创建一个新的android项目时 默认主题是android Theme Light 我发现TextView控件的字体很小 这是否意味着 android theme style AppTheme 中 textAppearance 的默认值
  • UIMenuController 在 iOS 13.2 中不可见

    我有长按处理程序显示UIMenuController 它在 private func longPressHandler sender UILongPressGestureRecognizer guard sender state began
  • HMM 如何用于手写识别?

    这个问题与传统的手写识别有点不同 我有一个包含数千个以下内容的数据集 对于一个绘制的角色 我有几个连续的 x y 按下笔的坐标 所以 这是一个顺序 时间 问题 我希望能够根据这些数据对手写字符进行分类 并且希望实现 HMM 来实现学习目的
  • Dapper 是否支持在单个查询中插入多行?

    Does StackExchange Dapper https github com StackExchange Dapper支持以下SQL语法吗 INSERT INTO MyTable a b c VALUES 1 2 3 4 5 6 7
  • 在 Visual Studio 2013 中禁用 git

    我有一个由 tfs 管理的存储库 然而在本地 我想通过 git 管理它 并将更改推送到 tfs 一旦我在团队资源管理器中创建 git 存储库 VS2013 就会显示该解决方案仅由 git 管理 如果我尝试编辑任何文件 它会抱怨该文件是只读的
  • 如何通过php按修改日期对文件进行排序

    背景 我有一个匿名登录 ftp 服务器 ftp nlist 仅按字母顺序列出文件 我想根据上次修改日期获取文件列表 最近的在前 我尝试了 ftp exec conn ls t 但出现了 权限被拒绝 错误 不知道为什么它不起作用 好吧 我正在
  • 使用 Plot 的线图重叠

    我有以下用于图表的选项 div div
  • 通过浏览器使用 PDO 将 MySQL 表中的数据存储为 CSV

    我有一个将数据写入 MySQL 数据库的表单 我希望用户能够下载他们的数据CSV最终提交后的格式 我的代码当前正在将数据库的内容转储到浏览器中 即它被写入页面 而不是写入 csv 文件 我想将他们发送到一个链接并提供下载文件的选项 这是我当
  • 从互联网读取数据

    我在网络服务器上有一个包含数据的远程文件夹 我使用以下方式访问数据 myData lt read table http myData csv sep header T 有没有办法对远程文件夹进行密码保护并在上述命令中输入授权 Thx 你可以
  • 使用不受支持的 WebKit 属性会产生什么影响?

    我有兴趣使用 webkit line clamp在混合 iOS 应用程序中 我已阅读苹果文档 https developer apple com library safari documentation AppleApplications
  • 合并时忽略文件/文件夹

    我目前正在使用 SVN 对我的软件项目进行版本控制 在一个正在进行的项目中 我有用于客户通用功能和规范的主干 以及用于客户特定功能和规范的分支 有什么方法可以标记一些文件 文件夹 这些文件 文件夹不应在每次执行此类操作时合并到分支中 我没有
  • Python 在调用之前修饰函数

    我有一个由其他人编写的相当复杂的装饰器 我想做的是根据决定一次调用该函数的修饰版本 或者另一次调用原始函数 未修饰 这可能吗 With decorator original function Without original functio
  • 如果输入等于字符串,则执行某些操作... python 2.7 [重复]

    这个问题在这里已经有答案了 使用以下代码时遇到问题 start over 1 question input Do you wish to try again y n if question y start over 1 else raise
  • 如何使用 xsmtp-api 和 php 库向 SendGrid 中的电子邮件主题添加替换标签

    我正在尝试在电子邮件的主题中设置我的客户的姓名 这对我的申请非常重要 从我在SendGrid API 文档 http sendgrid com docs API Reference SMTP API substitution tags ht