如何在Codeigniter中使用SendGrid API库作为第三方库

2022-05-30 00:00:00 email sendgrid php codeigniter

如何在codeigniter中作为第三方使用SendGrid库。 在他们的网站上,我可以找到SMTP代码,它扩展了普通的Codeigniter电子邮件类。 有帮助吗?

<?php
$this->load->library('email');

$this->email->initialize(array(
  'protocol' => 'smtp',
  'smtp_host' => 'smtp.sendgrid.net',
  'smtp_user' => 'sendgridusername',
  'smtp_pass' => 'sendgridpassword',
  'smtp_port' => 587,
  'crlf' => "
",
  'newline' => "
"
));

$this->email->from('your@example.com', 'Your Name');
$this->email->to('someoneexampexample@example.com');
$this->email->cc('another@another-example.com');
$this->email->bcc('them@their-example.com');
$this->email->subject('Email Test');
$this->email->message('Testing the email class.');
$this->email->send();

echo $this->email->print_debugger();
?>

解决方案

第1步:将SendGrid库复制到第三方文件夹 步骤2:将以下代码添加到您的控制器方法

include APPPATH . 'third_party/sendgrid-php/sendgrid-php.php';

        //$this->load->third_party('sendgrid-php');



        $email = new SendGridMailMail();
        $email->setFrom("setfrom@test.com", "testname");
        $email->setSubject("MailTest");
        $email->addTo('tomail@gmail.com', "User");
        $email->addContent("text/plain", "subject");
        $email->addContent(
            "text/html",'<html><body>Message</body><html>');

        $sendgrid = new SendGrid(('sendgrid-API-KEY_HERE'));
        try {
            $response = $sendgrid->send($email);
            print $response->statusCode() . "
";
            print_r($response->headers());
            print $response->body() . "
";
        } catch (Exception $e) {
            echo 'Caught exception: '. $e->getMessage() ."
";
        }

希望它能起作用

相关文章