Mặc dù trong php đã hỗ trợ sẵn phương thức send mail (php mail),
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
Nhưng với phương thức này bạn cần phải cần thay đổi vài thông số cấu hình php ( trong php.ini), nếu môi trường chạy ứng ựng của bạn là localhost, thì việc thay đổi cấu hình không là vấn đề gì, còn nếu ứng dụng của bạn chạy trực tiếp trên internet, được đặt trên một dịch vụ share hosting, khi đó bạn lại phụ thuộc vào những thông số cấu hình của chính host bạn đang dùng.
Mặc khác nếu bạn đã có riêng cho mình một mail server riêng ( hoặc những mail server free như GMAIL) và bạn muốn sử dụng nó cho chức năng gởi mail trong website của mình mà không bị phụ thuộc vào những cấu hình của php thì bạn có thể sử dụng những thư việc có sẵn và miễn phí để thay thế cho mail function trong php.
Trong bài này mình sẽ hướng dẫn các bạn sử dụng thư viện Swift Mailer để xây dựng chức năng gởi mail trong site của mình.
Swift Mailer là một thư viện mở, cung cấp cho người sử dụng ngoài chức năng cơ bản là gởi mail, với việc hỗ trợ những mail server có yêu cầu phải chứng thực thông qua username và password hay kiểu mã hoá dữ liệu. Bên cạnh đó Swift Mailer còn hỗ trợ trong vấn đề bảo mật email, đính kèm tập tin dữ liệu ….
Được viết theo mô hình hướng đối tượng nên tạo cảm giác quen thuộc cho người sử dụng.
Để sử dụng thư viện này, đầu tiên chúng ta sẽ tải về từ http://swiftmailer.org/ , sau đó giải nén và ta được một folder là SwiftMail, chúng ta sẽ copy folder này vào sử dụng trong ứng dụng của chúng ta.
code gởi mail của mình sẽ như sau:
<?php
require_once 'SwiftMail/lib/swift_required.php';
// Tạo đối tượng transport
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com',465,'ssl');
$transport->setUsername('your email');
$transport->setPassword('you email password');
// Tạo đối tượng mailer sẽ đãm nhận nhiệm vụ gởi mail đi
$mailer = Swift_Mailer::newInstance($transport);
//Tạo message để gởi đi
$message = Swift_Message::newInstance(' My subject ', ' My message that will be sent to you ');
$message->setFrom('sender@gmail.com');
$message->addTo('receiver@gmail.com');
// Gởi message
$mailer->send($message);
?>
Trong đoạn demo này mình sử dụng mail server của chú google với host là smtp.gmail.com và port là 465 với kiểu giao tiếp là 'ssl'.
vậy cơ bản là chúng ta đã hoàn thành việc sử dụng Swift Mailer để gởi mail.
DEMO : http://clgt.phpfogapp.com/demo/
DOWLOAD : http://clgt.phpfogapp.com/demo.zip
bool mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] )
Nhưng với phương thức này bạn cần phải cần thay đổi vài thông số cấu hình php ( trong php.ini), nếu môi trường chạy ứng ựng của bạn là localhost, thì việc thay đổi cấu hình không là vấn đề gì, còn nếu ứng dụng của bạn chạy trực tiếp trên internet, được đặt trên một dịch vụ share hosting, khi đó bạn lại phụ thuộc vào những thông số cấu hình của chính host bạn đang dùng.
Mặc khác nếu bạn đã có riêng cho mình một mail server riêng ( hoặc những mail server free như GMAIL) và bạn muốn sử dụng nó cho chức năng gởi mail trong website của mình mà không bị phụ thuộc vào những cấu hình của php thì bạn có thể sử dụng những thư việc có sẵn và miễn phí để thay thế cho mail function trong php.
Trong bài này mình sẽ hướng dẫn các bạn sử dụng thư viện Swift Mailer để xây dựng chức năng gởi mail trong site của mình.
Swift Mailer là một thư viện mở, cung cấp cho người sử dụng ngoài chức năng cơ bản là gởi mail, với việc hỗ trợ những mail server có yêu cầu phải chứng thực thông qua username và password hay kiểu mã hoá dữ liệu. Bên cạnh đó Swift Mailer còn hỗ trợ trong vấn đề bảo mật email, đính kèm tập tin dữ liệu ….
Được viết theo mô hình hướng đối tượng nên tạo cảm giác quen thuộc cho người sử dụng.
Để sử dụng thư viện này, đầu tiên chúng ta sẽ tải về từ http://swiftmailer.org/ , sau đó giải nén và ta được một folder là SwiftMail, chúng ta sẽ copy folder này vào sử dụng trong ứng dụng của chúng ta.
code gởi mail của mình sẽ như sau:
<?php
require_once 'SwiftMail/lib/swift_required.php';
// Tạo đối tượng transport
$transport = Swift_SmtpTransport::newInstance('smtp.gmail.com',465,'ssl');
$transport->setUsername('your email');
$transport->setPassword('you email password');
// Tạo đối tượng mailer sẽ đãm nhận nhiệm vụ gởi mail đi
$mailer = Swift_Mailer::newInstance($transport);
//Tạo message để gởi đi
$message = Swift_Message::newInstance(' My subject ', ' My message that will be sent to you ');
$message->setFrom('sender@gmail.com');
$message->addTo('receiver@gmail.com');
// Gởi message
$mailer->send($message);
?>
Trong đoạn demo này mình sử dụng mail server của chú google với host là smtp.gmail.com và port là 465 với kiểu giao tiếp là 'ssl'.
vậy cơ bản là chúng ta đã hoàn thành việc sử dụng Swift Mailer để gởi mail.
DEMO : http://clgt.phpfogapp.com/demo/
DOWLOAD : http://clgt.phpfogapp.com/demo.zip
thanks bạn,
Trả lờiXóa