price2performance/sendgrid-nette

Nette 的 Sendgrid 集成。

v2.0.1 2020-06-09 09:03 UTC

This package is auto-updated.

Last update: 2024-09-21 21:53:15 UTC


README

Nette 的 Sendgrid 集成。

Github badge Build Status Coverage Status

安装

composer require price2performance/sendgrid-nette

配置

在配置中添加

extension:
    sendgrid: Price2Performance\SendGrid\DI\SendGridExtension

sendgrid:
    key: 'SECRET_KEY'

使用方法

要向 SendGrid 发送任何 API 调用,只需将 SendGrid 类注入到您的展示器中。

    /** @var SendGrid @inject */
    public $sendgrid;
	
    public function actionDefault()
    {
        // CALL suppression/bounces
        try {
            $response = $this->sendgrid->client->suppression()->bounces()->get();
            print $response->statusCode() . "\n";
            print_r($response->headers());
            print $response->body() . "\n";
        } catch (Exception $e) {
            echo 'Caught exception: '.  $e->getMessage(). "\n";
        }
    }
	

要通过 SendGrid 发送电子邮件,只需将 Price2Performance\SendGrid\SendGridMailer 注入到您的展示器中。

    /** @var \Price2Performance\SendGrid\SendGridMailer @inject */
    public $mailer;
	
    protected function sendMail() {
        
        $message = new \Nette\Mail\Message();
        $message->addFrom('sender@example.com', 'Sender Name');
        $message->addTo('example@example.com');
        $message->setSubject('TEST SUBJECT');
        $message->setBody('TEST BODY');
        
        $this->mailer->send($message);
        
        /** @var \SendGrid\Response $response */
        $response = $this->mailer->getLastResponse();   // optional, for error logging
    }
	

SendGridMailer 上调用 getLastResponse() 会得到最后一个 send() 调用的 SendGrid\Response。您可以使用它来记录错误。

版本