sahil-gulati/mr-email

该软件包最新版本(2.0.0)没有可用的许可证信息。

AWS SES 原始电子邮件批量发送。

2.0.0 2020-09-08 12:49 UTC

This package is auto-updated.

Last update: 2024-09-16 15:53:34 UTC


README

AWS SES(简单电子邮件服务)原始电子邮件批量发送。此库允许用户收集多个电子邮件请求,并一次性执行这些请求。每个电子邮件请求都可以使用生成原始电子邮件内容的自定义选项进行修改。

安装

composer require sahil-gulati/mr-email

或者

{
    "require":{
        "sahil-gulati/mr-email": "2.0.0"
    }
}

composer install

注意
版本 1.0.0 支持 AWS V3 签名。
版本 2.0.0 支持 AWS V4 签名。

创建 SES 电子邮件

$sesEmail = new SESEmail("callback_function","AWSKEYXXXX","AWSSECRET-XXXXXX","us-east-1");

创建 SES EmailRequest

$sesRequestObj=new SESEmailRequest();
$sesRequestObj
    ->addReceiver($receiverEmail) 
    ->addSenderEmail($senderEmail)
    ->addSenderName($senderName)
    ->setContentType("application/json")  //Added in version 2.0.0
    ->setEmailSubject("testing email1!")
    ->setEmailBody("This is a email body")
    ->makeContent();

添加 SES EmailRequest

/**
 * Adding request in SESEmail
 */
$sesEmail->makeRequest($sesRequestObj);

执行

/**
 * Executing gathered request
 */
$sesEmail->execute();
function callback_function($response,$requestNo,$parameters,$groupNo)
{
    print_r(func_get_args());
}

运行测试

require_once 'vendor/autoload.php';
/**
 * Using namespace of MREmail
 */
use MREmail\SESEmail as SESEmail;
use MREmail\SESEmailRequest as SESEmailRequest;

$receiverEmail="sahil.gulati1991@outlook.com";
$senderEmail="someemail@gmail.com";
$senderName="Sahil Gulati";
/**
 * Note: While sending test email $senderEmail must be equal to $receiverEmail.
 */
$sesEmail = new SESEmail("callback_function","AWSKEYXXXX","AWSSECRET-XXXXXX","us-east-1");
$sesEmail->sendTestEmail($senderEmail);

包含所有内容的完整示例

<?php

require_once 'vendor/autoload.php';
/**
 * Using namespace of MREmail
 */
use MREmail\SESEmail as SESEmail;
use MREmail\SESEmailRequest as SESEmailRequest;

$receiverEmail="sahil.gulati1991@outlook.com";
$senderEmail="someemail@gmail.com";
$senderName="Sahil Gulati";
/**
 * Initiating object of SESEmail
 * Callback function type
 * (String) `callback_function` global function
 * (Array) array => 0 (Object) $classObject array => 1 (String) function_name(public) 
 * (Array) array => 0 (String) class_name array => 1 (String) function_name(public static) 
 */
$sesEmail = new SESEmail("callback_function","AWSKEYXXXX","AWSSECRET-XXXXXX","us-east-1");
/**
 * Initiating object of SESEmail request 1
 */
$sesRequestObj=new SESEmailRequest();
/**
 * Adding request in SESEmail
 */
$sesEmail->makeRequest(
            $sesRequestObj
            ->addReceiver($receiverEmail)
            ->addSenderEmail($senderEmail)
            ->addSenderName($senderName)
            ->setContentType("application/json")
            ->setEmailSubject("testing email1!")
            ->setEmailBody("This is a email body")
            ->makeContent()
        );
/**
 * Initiating object of SESEmail request 2
 */
$sesRequestObj=new SESEmailRequest();
/**
 * Adding request in SESEmail
 */
$sesEmail->makeRequest(
            $sesRequestObj
            ->addReceiver($receiverEmail)
            ->addSenderEmail($senderEmail)
            ->addSenderName($senderName)
            ->setEmailSubject("testing email2!")
            ->setEmailBody("This is a email body")
            ->makeContent()
        );
/**
 * Initiating object of SESEmail request 3
 */
$sesRequestObj=new SESEmailRequest();
/**
 * Adding request in SESEmail
 */
$sesEmail->makeRequest(
            $sesRequestObj
            ->addReceiver($receiverEmail)
            ->addSenderEmail($senderEmail)
            ->addSenderName($senderName)
            ->setEmailSubject("testing email3!")
            ->setEmailBody("This is a email body")
            ->makeContent()
        );
/**
 * Executing gathered request
 */
$sesEmail->execute();
function callback_function($response,$requestNo,$parameters,$groupNo)
{
    print_r(func_get_args());
}

?>