seriousemail/seriousemail-php

此库允许您通过PHP快速轻松地通过Serious.Email发送电子邮件。

dev-master 2017-10-23 16:13 UTC

This package is not auto-updated.

Last update: 2024-09-28 20:03:40 UTC


README

这是一个PHP类,用于帮助访问Serious.Email API。Serious.Email API利用Serious Email的HTML电子邮件模板系统和分析,同时允许您从自己的服务器触发发送。您可以同时发送一封或多封电子邮件,并且可以发送您账户允许的任何数量的电子邮件。

演示

您可以在以下位置查看和测试Serious Email API:DEMO

先决条件

此类需要Serious.email账户。https://serious.email

入门

您可以通过Composer或手动安装此包。

Composer

将SeriousEmail添加到您的composer.json文件中。

{
  "require": {
    "seriousemail/seriousemail-php": "dev-master"
  }
}

在您的PHP脚本顶部引入自动加载器

require 'vendor/autoload.php';

手动

如果您不使用composer,您可以下载此包(包含示例),以帮助您在Serious.email触发电子邮件发送。

说明

此API要求您在Serious.email设置一些事情。

  1. 生成public_api_key和api_secret

https://serious.email/account/settings-api

注意api_secret并将其保存在安全的地方,因为它只会显示一次。如果您忘记它,您需要重新生成您的密钥。

  1. 创建一个订阅者列表

https://serious.email/subscribers-manager

通过此API添加的订阅者将保存在此列表中。这可以实现全面的统计分析、未来的发送和数据备份。

  1. 创建一个活动并记下它的ID

https://serious.email/campaigns-manager

您将使用此ID在触发发送时使用此API。

使用设置对话框指定默认订阅者列表、默认测试订阅者列表、发件人姓名和发件人电子邮件。

  1. 创建一个电子邮件模板并记下它的ID

https://serious.email/templates-manager

这是将发送到您远程添加的订阅者的模板。

  1. 使用提供的示例作为添加您自己内容的依据。

现在您已经设置好Serious.email中的所有内容,并且已安装此包,您就可以开始发送电子邮件了。以下是一个访问API并发送电子邮件的示例脚本

<?php

//require 'vendor/autoload.php'; //use this if installed via Composer.
require_once('lib/SeriousEmail/SeriousEmail.php'); //manual installation

$api_secret = 'YOUR_API_SECRET';
$se = new SeriousEmail($api_secret);

//an example of adding and sending to 2 subscribers...
$data = array(
  	'public_api_id' => 'YOUR_PUBLIC_API_KEY', 
  	'campaign_id' => 89,
  	'template_id' => 442,
  	'from_name' => 'John Smith',
  	'from_email' => 'test@example.com',
  	'recipient_info' => array(		
  					array (								
  						'first_name' => 'Sam',
  						'last_name' => 'Lamb',
  						'email' => 'test1@example.com',
  						'subject' => 'custom subject 1',
  						'custom' => array(
  								'Points' => 92,
  								'Balance' => 500,
  								)	
  						),								
  					array (								
  						'first_name' => 'Bob',
  						'last_name' => 'Smith',
  						'email' => 'test2@example.com',
  						'subject' => 'custom subject 2',
  						'custom' => array(
  								'Points' => 500,
  								'Balance' => 20,
  								)
  					),							
  				),
      );

$send = $se->send($data);

if(isset($send)){
  echo $send->feedback;
}

api_secret是必需的。请勿泄露您的api_secret。

public_api_key是必需的。这将传递到您的$data数组中。

campaign_id是必需的。您可以从Serious.email账户中获取它。这将传递到您的$data数组中。

template_id是必需的。您可以从您的账户中获取它。这将传递到您的$data数组中。

recipient_info是必需的。至少必须将一个收件人添加到recipient_info中。您可以根据您的账户添加尽可能多的收件人。recipient_info必须包括一个'email'地址,但所有其他信息都是可选的。如果您希望使用first_name

'custom'数据可以发送。您可以发送尽可能多的自定义数据。使用此数据填充模板很容易。您只需将数组索引名称用双百分号括起来,并将其包含在Serious Email模板中。

例如

<head>

<title>An example of how to populate a template with dynamic (custom) data</title>

</head>

<body>

<p>You have %%Points%% and your balance is %%Balance%%.</p>

</body>

调试

开启调试以获取关于您对 Serious.Email API 调用发生的反馈

$send = $se->send($data, 1);

if(isset($send)){
    echo $send->feedback;
}

CURL 问题

关于 CURL 的注意事项。对于一些人来说,CURL 可能有些痛苦。特别是与 LOCALHOST 一起。如果您在建立连接时遇到困难 - Sharwan Kami(感谢你指出这一点)通过在 SeriousEmail.php 中的 CURL 选项中添加以下内容找到了成功的方法

curl_setopt($ch, CURLOPT_TIMEOUT, 1000);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 1000);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

以上存在一些安全风险,所以不要在生产环境中留下以上代码。

许可证

本项目采用 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE.md 文件