1. 需求:批量发送邮件,用户可能看到其他用户的邮箱地址,之前用BBC发送,但问题是接收地址是同一个。
  2. 官方解决方案:https://sendgrid.kke.co.jp/docs/Tutorials/A_Transaction_Mail/send_with_substitution.html
  3. 注意:最大发送数量问题
  4. 在springboot2中的代码实现

private void sendMany(List<String> lstAddress, String mailFrom,String subject, String text,String API_KEY) {

try{

  Email from = new Email(mailFrom);

  Mail mail = new Mail();

  for (String mailto : lstAddress) {
    Email to = new Email(mailto);
    Personalization personalization = new Personalization();
    personalization.addTo(to);
    personalization.addSubstitution("-name-", mailto);
    mail.addPersonalization(personalization);
  }

  mail.setFrom(from);
  mail.setSubject(subject);
  Content content = new Content("text/plain", text);
  mail.addContent(content);

  SendGrid sg = new SendGrid(API_KEY);
  Request request = new Request();

  request.setMethod(Method.POST);
  request.setEndpoint("mail/send");
  request.setBody(mail.build());
  Response response = sg.api(request);

}catch(IOException ex){

  ex.printStackTrace();

}

}

mail.build()生成的JSON结构如下:

{ "to" : [ "alice@test.com", "bob@test.com" ], "sub": { "-name-": [ "アリス", "ボブ" ] }

sendgrid 批量发送邮件,收件栏只显示当前用户的方案的更多相关文章

  1. easyui datebox时间控件如何只显示年月

    easyui datebox控件,只显示年月,不显示年月日 需要的效果图如下: 具体的js代码: <script> $(function(){ intiMonthBox('costTime ...

  2. WPF中任务栏只显示主窗口

    我们在用WPF开发的时候,常常会遇到在主窗口打开的情况下,去显示子窗口,而此时任务栏同时显示主窗口与子窗口.这样看起来很不美观.所以在弹出子窗口之前,设置它的几个相应属性,便不会出现这种问题了. // ...

  3. win7任务栏只显示日期不显示年月日

    某一天突然发现笔记本任务栏上的时间显示只剩下了时间,没有了年月日 于是百度 搜到的结果大多是如何设置显示的格式  yyyy-MM-dd 继续搜 终于搜到了正确答案 结果令我瞠目结舌  着实无奈 是因为 ...

  4. cocos creator 无法打开项目 dock栏只显示图标问题解决方法

    1.打开项目 2.找到 library和local文件夹 3.清空这两个文件夹的数据 4.问题已解决 原因: 以前生成的旧数据会和新数据发生冲突,把生成的旧数据清理掉就OK了.

  5. zui框架配置日期控件只显示年月

    zui框架配置日期控件datetimepicker只显示年月 <!DOCTYPE html> <head> <script src="~/Scripts/jqu ...

  6. WinForm控件TreeView 只部分节点显示 CheckBox

    WinForm控件TreeView 只部分节点显示  CheckBox 用过asp.net的应该知道,要在treeview中实现上述功能可以使用ShowCheckBox 属性指定那些节点显示check ...

  7. Excel在任务栏中只显示一个窗口的解决办法

     Excel在任务栏中只显示一个窗口的解决办法  以前朋友遇到过这个问题,这次自己又遇到了,习惯了以前的那种在任务栏中显示全部窗口,方便用Alt+Tab键进行切换. 如果同时打开许多Excel工作簿, ...

  8. DELPHI中如何让FORM窗体透明,只显示控件?

    DELPHI中如何让FORM窗体透明,只显示控件?分享到: 对我有用[0] 丢个板砖[0] 引用 | 举报 | 管理 回复次数:7largewanglargewanglargewang等级:Blank ...

  9. .net System.Web.Mail发送邮件 (设置发件人 只显示用户名)

    http://blog.163.com/hao_2468/blog/static/130881568201141251642215/ .net System.Web.Mail发送邮件 2011-05- ...

随机推荐

  1. Scrapy 中的模拟登陆

    目前,大部分网站都具有用户登陆功能,其中某些网站只有在用户登陆后才能获得有价值的信息,在爬取这类网站时,Scrapy 爬虫程序先模拟登陆,再爬取内容 1.登陆实质 其核心是想服务器发送含有登陆表单数据 ...

  2. 项目根目录下.gitignore

    7.项目根目录下.gitignore  # 此为注释 – 将被 Git 忽略  *.a # 忽略所有 .a 结尾的文件  !lib.a # 但 lib.a 除外  /TODO # 仅仅忽略项目根目录下 ...

  3. 五 Mybatis一对一关联查询的两种方式(基于resultType&基于resultMap)

    关联查询: 一个用户对应多个订单,一个订单只有一个用户 订单关联用户:两种方式 一:基于resultTYpe,一个与表关系一样的pojo实现 主表订单,从表用户 首先要有一个与关联查询表关系一样的po ...

  4. 【SqlServer】利用sql语句附加,分离数据库-----转载

    利用sqlserver内置的存储过程sp_attach_db和sp_detach_db附加 exec sp_attach_db @dbname=N'数据库名',@filename1=N'.mdf的文件 ...

  5. C#委托-事件示例

    Program.cs using System;using System.Collections.Generic;using System.Linq;using System.Text;using S ...

  6. json序列化(重要)

    (1)同(2)public JsonResult JsonUserGet() { DataSet ds = Web_User.P_LG_User_Get(nUserId); return Json(J ...

  7. 微信内置浏览器video标签自动全屏的问题

    微信打开h5video视频的时候都会自动全屏播放,有时候影响用户体验 要禁止自动全屏就要加这几个属性 'x5-playsinline':'true', 'webkit-playsinline':'tr ...

  8. Linux centosVMware shell脚本介绍、shell脚本结构和执行、date命令用法、shell脚本中的变量

    一. shell脚本介绍 shell是一种脚本语言 aming_linux blog.lishiming.net 可以使用逻辑判断.循环等语法 可以自定义函数 shell是系统命令的集合 shell脚 ...

  9. Day3-G - Task HDU4864

    Today the company has m tasks to complete. The ith task need xi minutes to complete. Meanwhile, this ...

  10. js取值问题----key为数字

    今天远程调用一个接口在处理返回的数据的时候突然发现数组的Key是一个数字 然后如果继续用“.”的话是不会的,会报错 要用中括号就可以解决