iyngaran / send-grid-transport
SendGrid Transport 是用于 Zend Framework 3 的电子邮件发送工具,使用 SendGrid 发送邮件 - https://sendgrid.com/。
1.0.0
2018-10-16 14:59 UTC
Requires
- php: >=5.6
- sendgrid/sendgrid: ^7.0
- zendframework/zend-mail: ^2.8
- zendframework/zend-mvc: ^3.0.1
Requires (Dev)
- codacy/coverage: dev-master
- mockery/mockery: dev-master
- phpunit/phpunit: 4.4.*
This package is not auto-updated.
Last update: 2024-09-26 02:00:51 UTC
README
此模块可以作为传输模块在 Zend Framework 2 中使用 SendGrid API 发送事务性电子邮件。
安装
composer require iyngaran/send-grid-transport
安装后,按照以下步骤之一进行操作
-
复制文件
vendor/iyngaran/send-grid-transport/mail.global.php.dist
并将其放置在您的config/autoload/mail.global.php
中。 -
如果此文件在您的应用程序中不存在,只需复制整个文件,并将其放置在您的
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 []; } }
强烈建议使用已注册的服务。
贡献
您可以通过提出改进建议、进行测试和报告错误来为此模块做出贡献。请使用 问题 来进行。
错误
通过打开 问题 报告错误。