iyngaran/send-grid-transport

SendGrid Transport 是用于 Zend Framework 3 的电子邮件发送工具,使用 SendGrid 发送邮件 - https://sendgrid.com/。

1.0.0 2018-10-16 14:59 UTC

This package is not auto-updated.

Last update: 2024-09-26 02:00:51 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License Codacy Badge

此模块可以作为传输模块在 Zend Framework 2 中使用 SendGrid API 发送事务性电子邮件。

安装

composer require iyngaran/send-grid-transport

安装后,按照以下步骤之一进行操作

  1. 复制文件 vendor/iyngaran/send-grid-transport/mail.global.php.dist 并将其放置在您的 config/autoload/mail.global.php 中。

  2. 如果此文件在您的应用程序中不存在,只需复制整个文件,并将其放置在您的 config/autoload 中,移除 .dist 扩展名。

然后添加您的 SendGrid API 密钥。要获取 API 密钥,请 访问此处

此外,还需要添加测试发件人电子邮件地址、姓名和收件人电子邮件地址、姓名。

// config/autoload/mail.global.php

return [
    'mail' => [
        'sendgrid' => [
            'api_key' => 'YOUR_API_KEY',
        ]
    ],
    'test-email' => [
        'from' => [
            'name' => 'Iyngaran Iyathurai',
            'email' => 'test@iyngaran.info'
        ],
        'to' => [
            'name' => 'Your name',
            'email' => 'your email address'
        ]
    ]
];

最后,必须在您的 config/modules.config.php 中注册 SendGridTransport 模块。

// config/modules.config.php
return [
    'Zend\ServiceManager\Di',
    ....
    'Application',
    'SendGridTransport'
];

测试

转到此 URL - /send-grid-email 发送测试邮件。

用法

控制器中的示例

namespace SendGridTransport\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use SendGridTransport\Mail\Transport\SendGridTransport;

class SendEmailController extends AbstractActionController
{
    private $sendGridTransport;
    private $config;

    public function __construct(SendGridTransport $sendGridTransport, array $config)
    {
        $this->sendGridTransport = $sendGridTransport;
        $this->config = $config;
    }


    public function indexAction()
    {
        $message = new \SendGridTransport\Mail\Message();
        $body = '<strong>Hello :),</strong><BR/> The SendGridTransport is working now :)';
        $message->setBody($body);
        $message->setFrom(
            new \Zend\Mail\Address(
                $this->config['test-email']['from']['email'],
                $this->config['test-email']['from']['name']
            )
        );
        $message->addTo(
            new \Zend\Mail\Address(
                $this->config['test-email']['to']['email'],
                $this->config['test-email']['to']['name']
            )
        );
        $message->setSubject('Testing SendGridTransport - Iyngaran');
        $message->setBodyText('Hello, the SendGridTransport is working now :)');
        print('<pre>');
        print_r($this->sendGridTransport->send($message));
        print('<pre/>');

        return [];
    }
}

强烈建议使用已注册的服务。

贡献

您可以通过提出改进建议、进行测试和报告错误来为此模块做出贡献。请使用 问题 来进行。

错误

通过打开 问题 报告错误。