Mailtrap.io. Thật đơn giản để kiểm tra việc gửi mail ở local.

Ở bài blog này mình xin được chia sẻ một cách rất đơn giản để test được gửi mail ở local trong khi thực hiện 1 chức năng gửi mail cho 1 web của bạn.

Tất nhiên đầu tiên thì bạn phải có chức năng gửi mail trên web của bạn, ở đây để lấy ví dụ cho các bạn, mình đã thự hiện 1 action gửi mail trên web sử dụng Laravel.

Vì chỉ thực hiện gửi mail, nên action mình khá đơn giản, chỉ là khi người dùng click vào button Sendmail thì sẽ chạy đến function sendMail trong MailController. Function được viết như sau:

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Mail;

class MailController extends Controller  
{
    public function sendMail()
    {
        Mail::send('mail', [], function ($message) {
            $message->to('admin@ghaposoft.com', 'Admin')
                ->subject("Subject to admin");
        });

        Mail::send('mail', [], function ($message) {
            $message->to('user@ghaposoft.com', 'User')
                ->subject("Subject to user");
        });

        return redirect()->route('home');
    }
}

Như vậy khi người dùng click vào button Send mail thì laravel sẽ thực hiện action gửi mail cho 2 mail là admin@haposoft.comuser@haposoft.com.

Tiếp theo là bước đăng kí tài khoản tại MailTrap. Rất đơn giản, bạn chỉ cần đăng kí và đăng nhập bằng tài khoản github của mình. Tiếp theo bạn vào Hộp thư đến của mình sẽ ra được màn hình này:

Click tiếp theo vào Demo inbox bạn sẽ thấy được phần SMTP settings như sau:

Ở đây bạn đã thấy các thông tin của phần config email cần có để thêm vào file .env trong project của bạn. Bạn chỉ cần lấy nó vào điền vào trường phù hợp trong file .env của mình. Như ở project của mình như sau:

MAIL_DRIVER=smtp  
MAIL_HOST=smtp.mailtrap.io  
MAIL_PORT=2525  
MAIL_USERNAME=ee5cd9cfd7e8de  
MAIL_PASSWORD=80431015883209  
MAIL_ENCRYPTION=null  

Và dưới đây là thành quả, mail test đã được gửi trong inboxes của tài khoản mailtrap của mình:

Trên đây là bài chia sẻ của mình về một cách đơn giản để có thể test được action gửi mail trong một project của bạn. Nó có ưu điểm là bạn có thể set up rất nhanh, và các mail của bạn sẽ được xuất hiện hết ở một inboxes. Tuy nhiên có rất nhiều cách để có thể test được nữa như sử dụng MailHog, MailCatcher. Nhưng theo mình đây là một cách khá tiện dụng và dễ dùng. Cảm ơn các bạn đã đọc blog của mình.

Related article