Share Gửi mail dễ dàng bằng PHP với thư viện Stampie

filiallion

Administrator
Staff member
Administrator
Messages
511
Points
10
Language
Tiếng Việt
Tôi đã giới thiệu với các bạn nhiều thư viện gửi mail trong PHP như thư viện PHPMailer tại bài viết "Gửi mail bằng thư viện PHPMailer" hay thư viện Symfony Mailer tại bài viết "Xây dựng chức năng gửi mail chuyên nghiệp cho website với thư viện Symfony Mailer". Bài viết này tôi tiếp tục giới thiệu với các bạn thư viện PHP khác dùng để gửi mail, đó là thư viện Stampie.

Về cơ bản, thư viện Stampie sử dụng tương tự như PHPMailer hay Symfony Mailer nên nếu các bạn đã sử dụng qua các thư viện gửi mail trong PHP rồi thì việc sử dụng Stampie cũng đơn giản. Trước tiên, các bạn cần cài đặt thư viện Stampie bằng công cụ Composer với dòng lệnh:
Code:
composer require stampie/stampie
Thư viện Stampie yêu cầu thêm ba thư viện bổ sung khác đó là Curl client, Guzzle and PSR-7 và HTTP Message. Các bạn cài đặt cả ba thư viện này với dòng lệnh Composer sau:
Code:
composer require php-http/curl-client guzzlehttp/psr7 php-http/message
Thư viện Stampie có cung cấp một lớp trừu tượng Stampie\Message, các bạn cần phải tạo một lớp Message mở rộng lớp trừu tượng này như sau:
PHP:
//Khai báo sử dụng thư viện
use Stampie\Message as StampieMessage;

//Khai báo lớp Message
class Message extends StampieMessage
{
    public function getFrom()
    {
        return 'from@example.com';
    }
    
    public function getSubject()
    {
        return 'Mail subject';
    }
    
    public function getText()
    {
        return 'Mail content';
    }
}
Bây giờ, các bạn có thể gửi mail bằng thư viện Stampie như ví dụ sau:
PHP:
//Khai báo sử dụng thư viện
use Http\Adapter\Guzzle6\Client;
use Stampie\Mailer\SendGrid;

//Khởi tạo đối tượng send grid
$sendGrid = new SendGrid(
    new Client(),
    'username:password'
);

//Gửi mail
$sendGrid->send(new Message('to@example.com'));
Trên đây là hướng dẫn sử dụng thư viện Stampie đơn giản, các bạn có thể tìm hiểu thêm tại địa chỉ https://github.com/Stampie/Stampie.
 
Top