韩林涛老师:译者编程知识30天×300字写作计划 | Day 26

便捷的邮件群发解决方案:SendCloud

SendCloud是一款国内企业推出的邮件、短信群发平台,其国际版个人可注册使用。

最近我们办院庆,我负责的研讨会预计有150人参加,涉及到的通知非常多,如果纯靠志愿者去联络非常麻烦,所以我们开发了一个会议信息管理平台,用于统计参会人员的个人信息,尤其是办理进校许可相关的个人关键数据。

以前我们可能会使用麦客表单这样的工具,但这次不太一样。麦客表单仅能使用一次,如果需要参会人员更新某些信息或者新提供一些信息,则要重新统计,参会人员会重复填写很多信息,非常不便。

会议管理工具本质上就是一个内容管理系统,参会人员的信息统一存储和管理。

涉及到群发邮件的操作大致流程是这样的:

第一步:参会人员依然是通过麦客表单注册,我们下载后将其邮箱和默认密码导入到会议管理系统中(《译者编程入门指南》中介绍过导入Excel表格数据的方法)

第二步:前往SendCloud,将会议管理平台的域名注册到其中,并验证其确实是用户自有的域名(这个时候个人注册的独立域名就方便很多了,如果是学校官方域名,这一步就过不去了,因为需要到域名服务商的网站后台添加许多特有的信息才能通过验证)

第三步:注册API,一般有两种API,群发API和触发API,群发API就是用户群发邮件的,触发API就是用户执行了某种操作然后触发某个邮件发送操作。

第四步:创建群发邮件列表,这个时候将所有用户的邮件添加到这个列表中,并设置一个单独的邮件列表地址。

第五步:撰写PHP代码,将API信息和群发邮件列表信息加入其中,并设置邮件的标题、正文、发送人、收件人等,如下:

$url = "http://api2.sendcloud.net/api/mail/send";

$data = array( "apiUser" => "", "apiKey" =>"", "from" =>"@blcu.edu.cn", 'useAddressList' => 'true', "to" => "@maillist.sendcloud.org", "subject" => $title, "html" => $emailcontent, "fromName" => "***" );

$curl = curl_init();

curl_setopt($curl, CURLOPT_URL, $url);

curl_setopt($curl, CURLOPT_POST, 1);

curl_setopt($curl, CURLOPT_HEADER, 0);

curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($curl, CURLOPT_POSTFIELDS, $data);

$output = curl_exec($curl);

curl_close($curl);

就这样,一个群发邮件流程就基本完成了,再写一个form表单来自定义邮件的内容和其他信息,执行上述代码,邮件就发出去了。SendCloud后台可以监控邮件发送的状态,包括对方是否打开邮件。

当对方收到邮件后,根据提示回到我们的会议信息管理软件,上传个人信息即可。

如果有最新通知,再发送邮件提醒;如果需要对方更新某些信息,也可以在会议系统里添加相应的表格字段,对方登录平台再更新。

作者:韩林涛,北京语言大学高级翻译学院教师,《译者编程入门指南》作者