编程语言
首页 > 编程语言> > php – 发送简讯的最有效方式

php – 发送简讯的最有效方式

作者:互联网

今天当我发送基本的电子邮件时,我使用了一个“Mail”类,它是一个使用SwiftMailer的自定义包装器,如下所示:

<?php
Mail::create('Message title')
        ->template('Template string or view path. Global variable "var" is "{var}". Current user is {username}.')
        ->tags(array('var' => 'value 1'))
        ->from('contact@mydomain.com')
        ->to('mail@example.com', array('username' => 'Boris'))
        ->transport(Mail::SMTP)
        ->send();

它适用于基本电子邮件,但由于多种原因无法用于发送简报:

>没有池管理
>没有延期发送
>没有跟踪

所以我想到了一种集中更复杂的电子邮件管理的方法.我做了一个架构:

我不希望远程服务器存储任何联系信息,只存储广告系列,收件人和统计信息,如下图所示:

“收件人”表的“数据”字段用于存储自定义数据结构,当要求API提供有关收件人的信息时,该结构将被发回.例如 :

<?php
$result = NewsletterAPI::getRecipientsViewReport($campaignRef);
//
// Will contain something like : 
// Array
// (
//   [recipients] => Array
//     (
//       [0] => Array
//         (
//           [email] => toto@gmail.com
//           [opened] => 3
//           [last_open_date] => '2015-02-02 12:32:23', 
//           [data] => Array
//             (
//               [id] => 123
//             )
//         )
//       [1] => Array
//         (
//           [email] => tata@hotmail.com
//           [opened] => 0
//           [last_open_date] => null, 
//           [data] => Array
//            (
//              [id] => 17
//            )
//        )
//    )
// )

远程服务器不关心发送电子邮件和获取统计信息.无论电子邮件地址背后的实体或用户的管理方式如何.

它仅阻止用户访问其不拥有的数据,并阻止非管理员用户访问管理API方法(如创建用户).

这种方式很容易集成到任何网站,我只需要存储我想发送邮件的帐户的api密钥(例如在我的“用户”实体中添加“mailing_api_key”字段).

所以我的问题

首先,您如何看待这种架构?

在实际使用中,电子邮件的数量不应该非常大(每周几千),但我希望系统最小化.

除此之外,我可以想到三个主要问题:

>被列入黑名单
>有不好的统计结果,因为我不知道跟踪视图的任何其他方式比使用跟踪图像,它很容易阻止,
>检测弹跳似乎与我读过的相当复杂,我没有经验.

所以我做了一些研究,找到可以处理这个的专门服务,比如:

> Mailchimp
> Sendinblue
> MPZMail
> Campayn
> FreshMail

等等.但他们都希望管理联系人和很多我不关心的事情.

我只想要一个没有UI的服务,它做了一些接近我上面描述的事情:

>动态帐户创建(仅适用于管理员帐户),
>每次都会将电子邮件发送到自定义地址列表,没有限制,也没有预先创建的任何类型的邮件列表,
>简单方法:

>活动列表(执行请求的用户),
>广告系列的统计信息,
>特定地址的统计数据,

>和……就是这样!

非常感谢你,如果你已经阅读了所有内容,我希望找到一个解决方案.

问候.

解决方法:

大多数(大)公司只使用像mailchimp这样的第三方API.只需订阅一些公司简报并查看电子邮件标题.

如果预算超过数百万的公司将使用第三方通讯公司,这是有原因的.垃圾邮件过滤器和您还不知道的问题会有很多麻烦……不同国家甚至有不同的法律. (例如:在德国,您必须在电子邮件中提供取消订阅链接).

那些第三方通讯公司提供了一个api,你可以在PHP中集成.

标签:php,email,api,newsletter
来源: https://codeday.me/bug/20190702/1361161.html