Laravel gửi email mà không cần xem

Laravel là một lựa chọn phổ biến khi nói đến PHP frameworks. Điều này phần lớn là do tính đơn giản của nó và sự sẵn có của các tài liệu và hướng dẫn chuyên sâu. Tuy nhiên, ngay cả khi có rất nhiều thông tin trong tay, vẫn có sự nhầm lẫn và các câu hỏi liên quan đến cách kiểm tra và gửi email với Laravel

Trong bài viết này, chúng tôi cố gắng làm sáng tỏ sự nhầm lẫn đó và trả lời các câu hỏi phổ biến nhất.  

Chúng tôi cũng cung cấp cho bạn tổng quan về khuôn khổ phổ biến và cách sử dụng nó kết hợp với các giải pháp gửi đầu cuối

Nếu điều này giống như phần nội dung bạn đang tìm kiếm, thì hãy tiếp tục đọc

Laravel là gì và nó hoạt động như thế nào?

Laravel là một framework với cú pháp biểu cảm và tao nhã.  

Nó cung cấp các tính năng như tiêm phụ thuộc triệt để, lớp trừu tượng cơ sở dữ liệu biểu cảm, hàng đợi và công việc đã lên lịch, thử nghiệm đơn vị và tích hợp, v.v., do đó tạo điều kiện cho trải nghiệm “tuyệt vời” cho những người sử dụng nó để phát triển các ứng dụng web hiện đại, đầy đủ

Những người tạo ra khung gọi nó là khả năng mở rộng đáng kinh ngạc và tuyên bố rằng nó có khả năng xử lý khối lượng công việc của doanh nghiệp. Họ cũng nói rằng đó là một khuôn khổ tiến bộ khi nó phát triển cùng với nhà phát triển, dù là cấp dưới hay cấp cao.

Phiên bản Laravel

Các bản phát hành chính của framework Laravel diễn ra hàng năm vào khoảng tháng 2, trong khi các bản phát hành nhỏ và bản vá, không chứa các thay đổi đột phá, xảy ra thường xuyên, đôi khi thậm chí hàng tuần

Mỗi bản phát hành chính đều nhận bản sửa lỗi trong 18 tháng và bản sửa lỗi bảo mật trong 2 năm

Phiên bản ReaseBug sửa chữa cho đến khi sửa chữa cho đến khi 6 [LTS] ngày 3 tháng 9 năm 2019 ngày 25 tháng 2 năm 20222222222222

Nguồn. https. // ấu trùng. com/docs/master/bản phát hành

Hai phiên bản mới nhất của Laravel, phiên bản 8 và 9, cung cấp nhiều tính năng mạnh mẽ

Laravel 8 cung cấp hỗ trợ thử nghiệm song song, cải thiện bộ công cụ khởi động Breeze, cải tiến ứng dụng khách HTTP và các loại mối quan hệ Eloquent mới, bao gồm cả “có một trong nhiều”.  

Laravel 9 xây dựng dựa trên những cải tiến được thực hiện trong Laravel 8. x và giới thiệu các bản sửa lỗi, cải tiến khả năng sử dụng, hỗ trợ cho Symfony 6. 0, Symfony Mailer, Flysystem 3. 0, tuyến đường được cải thiện. đầu ra danh sách, trình điều khiển cơ sở dữ liệu Laravel Scout, cú pháp trình truy cập/bộ biến đổi Eloquent mới và các liên kết định tuyến ẩn thông qua Enums

Ghi chú. Khuyến nghị của chúng tôi là chọn phiên bản khung mới hơn để có hiệu suất tốt hơn phù hợp với tiêu chuẩn ngành nếu máy chủ dự án của bạn hỗ trợ thiết lập

Dịch vụ email của Laravel

Laravel có các dịch vụ email riêng, cho phép gửi email thông qua các dịch vụ cục bộ hoặc dựa trên đám mây

Việc gửi được thực hiện với một API email đơn giản được cung cấp bởi thành phần Symfony Mailer

Sự kết hợp Laravel và Symfony Mailer cung cấp cho người dùng một loạt trình điều khiển mà họ có thể sử dụng để gửi email qua SMTP, dịch vụ gửi email của bên thứ ba và MTA Sendmail

Các dịch vụ email của Laravel được khá nhiều người biết đến và điều đó phần lớn là do các tính năng mà chúng cung cấp, bao gồm

  • xếp hàng email.  
  • Tạo thông điệp email HTML và văn bản thuần túy thông thường
  • Đính kèm tệp ở các định dạng và loại MIME khác nhau, cũng như dữ liệu thô.  
  • Bao gồm các tệp đính kèm nội tuyến và nhúng dữ liệu thô vào các mẫu email.  
  • Xem trước tin nhắn trong trình duyệt
  • Hỗ trợ Markdown [trong một số khung] – tạo các mẫu đẹp và dễ dàng bao gồm các nút, bảng hoặc bảng.  
  • Hệ thống tạo khuôn mẫu – sử dụng nhiều mẫu khác nhau và định cấu hình chế độ xem.  
  • Phương pháp bản địa hóa – đặt ngôn ngữ mong muốn cho một người dùng cụ thể
  • Gửi thư phát triển cục bộ – ngăn gửi email kiểm tra đến hộp thư đến thực.  

Trước khi gửi email trong Laravel

Mặc dù gửi email trong Laravel không phải là một nhiệm vụ quá khó, nhưng trước khi bắt đầu quá trình, điều quan trọng là bạn phải làm quen với những điều cơ bản sau

Cấu hình

Việc cấu hình các dịch vụ email của Laravel được thực hiện trong tệp

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
8. Trong tệp cấu hình thư này, có một mảng cấu hình người gửi thư chứa mục nhập cấu hình mẫu cho mỗi trình điều khiển/vận chuyển thư chính được hỗ trợ bởi Laravel.  

Giá trị cấu hình mặc định trong tệp này là giá trị xác định thư nào sẽ được sử dụng theo mặc định khi gửi email từ ứng dụng Laravel của bạn

Nhờ tất cả các trình gửi thư được định cấu hình trong tệp

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
8, bạn có thể sử dụng các dịch vụ gửi email khác nhau cho các loại email khác nhau

Tạo và viết mailables

Trong Laravel, các loại email khác nhau được đại diện bởi một lớp “mailable” được lưu trữ trong thư mục

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
0

Theo mặc định, thư mục này không có trong ứng dụng của bạn. Thay vào đó, nó được tạo khi tạo lớp có thể gửi thư đầu tiên

Để tạo một mailable class, bạn cần sử dụng lệnh sau của Artisan CLI [có trong Laravel]

php artisan make:mail MailableName

Sau khi được tạo, có thể nhìn thấy nội dung của lớp có thể gửi được và bản thân lớp có thể được định cấu hình bằng các phương thức sau

  • Phong bì – Trả về đối tượng Illuminate\Mail\Mailables\Envelope, xác định chủ đề và người nhận
  • Nội dung –  Trả về đối tượng Illuminate\Mail\Mailables\Content, xác định mẫu Blade được sử dụng để tạo nội dung thư
  • Tệp đính kèm – Trả về một mảng tệp đính kèm

cấu hình người gửi

Để chỉ định người gửi, hay nói cách khác, địa chỉ và tên email “từ”, bạn có thể sử dụng đối tượng Phong bì thư hoặc địa chỉ “từ” chung

  • Chỉ định người gửi trong đối tượng Phong bì
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
  • Chỉ định người gửi trong
    use Illuminate\Mail\Mailables\Address;
    use Illuminate\Mail\Mailables\Envelope;
     
    /**
    * Get the message envelope.
    *
    * @return \Illuminate\Mail\Mailables\Envelope
    */
    public function envelope[]
    {
       return new Envelope[
           from: new Address['example@example.com', 'Test Sender'],
           subject: 'Test Email',
       ];
    }
    8 bằng cách sử dụng địa chỉ “từ” toàn cầu
'from' => ['address' => 'example@example.com', 'name' => 'App Name'],

Ghi chú. Địa chỉ “từ” chung nên được sử dụng nếu cùng một địa chỉ “từ” được sử dụng trong tất cả các email được gửi bởi ứng dụng của bạn. Điều này rất thuận tiện vì nó giúp bạn không phải gọi phương thức

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
2 trong mỗi lớp có thể gửi thư của mình và đóng vai trò là địa chỉ “từ” mặc định nếu không có địa chỉ nào khác được chỉ định

Gửi email trong Laravel

Các cách gửi email phổ biến nhất trong Laravel là sử dụng SMTP và sử dụng API email. Bây giờ chúng ta sẽ xem xét cả chi tiết, cũng như cách biến email của bạn thành email HTML, bao gồm tệp đính kèm và gửi cho nhiều người nhận, về cơ bản bao gồm tất cả những gì người ta có thể tò mò khi bắt đầu gửi email bằng Laravel

Làm cách nào để gửi email trong Laravel bằng SMTP?

Bước đầu tiên của việc gửi bằng SMTP là chèn thông tin xác thực máy chủ thư SMTP của bạn vào tệp

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
3 trong ứng dụng của bạn.  

Chúng tôi sẽ sử dụng thông tin đăng nhập do giải pháp gửi của Mailtrap cung cấp cho chúng tôi – API Email Mailtrap – vì nó đáng tin cậy và cũng cung cấp.  

Để tìm thông tin đăng nhập, trước tiên bạn cần tạo tài khoản Mailtrap và đăng nhập.  

Sau đó, trong tài khoản của bạn trong API Email, hãy điều hướng đến Gửi miền, nơi bạn cần thêm và xác minh miền của mình

Quá trình này được mô tả chi tiết trong video dưới đây

Sau khi xác minh tên miền, bạn sẽ được đưa đến trang API và SMTP, từ đó bạn có thể sao chép thông tin xác thực SMTP mà bạn cần để dán vào ứng dụng, dự án hoặc dịch vụ gửi email của mình

Nếu bạn chưa có ứng dụng Laravel hiện có, một vài đoạn tiếp theo sẽ chỉ cho bạn cách tạo nó

Chạy lệnh

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
4hoặc lệnh
'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
5[mailtrap_email_in_laravel nên được thay thế bằng tên ứng dụng của bạn] trong thiết bị đầu cuối để tạo một dự án mới

Sau đó, sử dụng lệnh

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
6 để thay đổi thư mục thành mailtrap_email_in_laravel [phải khớp với tên thư mục của bạn]. Điều này là cần thiết để chạy lệnh Laravel để tạo các lớp có thể gửi được

Cuối cùng, để xem ứng dụng Laravel của bạn trong trình duyệt, hãy chạy lệnh

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
7

Khi ứng dụng Laravel của bạn được tạo và chạy, chúng ta có thể quay lại chèn thông tin đăng nhập máy chủ thư Mailtrap SMTP

Đây là giao diện của thông tin đăng nhập khi được tích hợp vào mã Laravel

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
3

Mailtrap sẽ cho phép bạn xác minh thiết lập SMTP của mình ngay khi bạn chạy mã dự án/ứng dụng Laravel hiện có chứa thông tin xác thực và gửi email kiểm tra từ đó

Sau khi gửi email kiểm tra thành công, bạn sẽ nhận được thông báo “250 2. 0. 0 được. được xếp hàng như…” phản hồi

Sau đó, chỉ cần nhấp vào “Xác minh thiết lập” để bắt đầu quá trình xác minh

Bước tiếp theo là tùy chọn, nhưng nếu bạn định theo dõi hiệu suất email của mình, chúng tôi khuyên bạn nên hoàn thành bước này.  

Bước này liên quan đến việc bật cài đặt theo dõi Mailtrap mà qua đó bạn có thể theo dõi email của mình mở và nhấp

Sau khi bật theo dõi, số liệu thống kê được thu thập sẽ được hiển thị trong tab Nhật ký email cho từng email riêng lẻ

Trong tab Stats sẽ là dữ liệu tổng hợp

Và với các bước đã hoàn thành, bạn đã thiết lập Mailtrap làm máy chủ SMTP trong ứng dụng của mình.  

Nếu thích, bạn cũng có thể sử dụng Gmail vì nó khá phổ biến và cũng có thiết lập đơn giản bao gồm việc dán thông tin đăng nhập SMTP vào tệp

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
3 của bạn như vậy

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
5

Với việc thiết lập SMTP đã xong, đã đến lúc tạo một trong những lớp có thể gửi thư mà chúng tôi đã đề cập trước đó bằng cách sử dụng lệnh sau

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
6

Sau khi bạn chạy lệnh trong Artisan CLI, lớp

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
9 sẽ được tạo trong
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
30

Nếu bạn muốn, bạn có thể kiểm tra mã lớp bên dưới

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
9

Như bạn có thể thấy, phương thức

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
31 sẽ trả về một khung nhìn. Đó là lý do tại sao bây giờ bạn cần vào tài nguyên/lượt xem, tạo một thư mục mới và trong đó có một thanh kiếm. tập tin php

Với tệp đã tạo, bây giờ bạn có thể điền vào tệp một số văn bản

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
1

Quay lại phương thức

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
31 và thay thế tên của chế độ xem do nó trả về bằng tên của chế độ xem mới tạo của bạn.  

Nếu bạn muốn làm cho mọi thứ năng động hơn một chút, bạn có thể làm cho tệp email

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
33 của mình bao gồm tên của người nhận bằng cách sử dụng thuộc tính
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
34 để chuyển tên

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
5

Tất nhiên, để thực hiện công việc này, bây giờ bạn cũng cần thực hiện một thay đổi nhỏ trong tệp chế độ xem

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
35, cho phép nó chấp nhận biến
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
36

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
8

Bước cuối cùng, chúng ta cần tạo một tuyến đường trong tệp

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
37 bằng mã bên dưới

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
0

Để kiểm tra mọi thứ, hãy chạy lệnh_______27 và sau đó truy cập trình duyệt của bạn, nơi bạn cần dán tuyến đường bạn đã tạo. Trong trường hợp của chúng tôi, đó là localhost. 8000/đường thử

Nếu mọi thứ suôn sẻ, email của bạn sẽ nằm trong hộp thư đến của địa chỉ “đến” mà bạn đã chỉ định.  

Làm cách nào để gửi email trong Laravel bằng API email giao dịch?

Mặc dù gửi email bằng SMTP là hoàn toàn ổn, nhưng gửi bằng API email giao dịch đối với một số người có thể là một giải pháp thay thế tốt hơn vì nó tự động hóa quy trình. Nhưng điều này, tất nhiên, phụ thuộc vào nhu cầu của nhà phát triển/dự án

API email Mailtrap, giải pháp gửi mà chúng tôi đã đề cập trong phần trên, bên cạnh SMTP, cũng cung cấp API email [chúng tôi chắc chắn rằng cái tên đã cho thấy nó rồi 🙂 ], vì vậy chúng tôi cũng sẽ sử dụng nó cho phần này

Để tích hợp API email này vào ứng dụng của bạn, bạn sẽ cần hoàn thành các bước cấu hình Mailtrap sau đây, hầu hết chúng tôi đã đề cập

  • Tạo một tài khoản Mailtrap và đăng nhập
  • Thêm và xác minh miền của bạn
  • Chuyển đến tab API và SMTP để tìm đoạn mã tích hợp Email API mà bạn cần thêm vào tệp
    use Illuminate\Mail\Mailables\Address;
    use Illuminate\Mail\Mailables\Envelope;
     
    /**
    * Get the message envelope.
    *
    * @return \Illuminate\Mail\Mailables\Envelope
    */
    public function envelope[]
    {
       return new Envelope[
           from: new Address['example@example.com', 'Test Sender'],
           subject: 'Test Email',
       ];
    }
    37 và chạy với ứng dụng của mình

Đối với Laravel, đây là đoạn mã bạn cần [không có trong tab API và SMTP vì hiện tại không có SDK để tích hợp PHP]

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
1
  • Sửa đổi tệp
    'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
    3 bằng cách thêm hai biến vào tệp
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
2

Ghi chú. Giải pháp gửi của Mailtrap có hai máy chủ – API email [để gửi email giao dịch cho người dùng] và Máy chủ giả [để kiểm tra việc gửi API với hộp thư đến demo]. Vì đây chỉ là một hướng dẫn và chúng tôi không có bất kỳ người dùng nào nên chúng tôi sẽ sử dụng thông tin xác thực của Máy chủ giả. Nếu sử dụng thông tin đăng nhập API email, bạn cần thay đổi

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
51 thành “https. //gửi. api. bẫy thư. io/api/send” và
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
52 tới mã thông báo bạn tạo trong API -> Mã thông báo API trong tài khoản Mailtrap của bạn

  • Xác minh thiết lập của bạn

Sau khi hoàn thành tất cả năm bước và không gặp lỗi, bạn sẽ sẵn sàng sử dụng API Email Mailtrap để gửi email giao dịch

Khi sử dụng API email của Mailtrap thay vì SMTP của nó, bạn vẫn có thể bật cài đặt theo dõi mà chúng tôi đã đề cập trước đó. Ngoài ra, bất kể bạn đang sử dụng API email hay SMTP, Mailtrap cho phép bạn bật cảnh báo khả năng gửi và webhook, và đây là cách thực hiện

Để có cảnh báo về khả năng gửi, hãy truy cập tài khoản Mailtrap của bạn và trong API Email – > Cảnh báo về khả năng gửi, bật Tình trạng sức khỏe hàng tuần và/hoặc Cảnh báo quan trọng

Tình trạng sức khỏe Hàng tuần sẽ đến vào các ngày Thứ Hai và cung cấp bản xem trước chi tiết về các email đã mở, số lần nhấp, số bị trả lại, số lần hủy đăng ký và thư rác

Mặc dù Cảnh báo quan trọng sẽ được gửi khi chỉ số quan trọng của bạn xuống dưới ngưỡng được xác định trước [hệ thống của chúng tôi kiểm tra chỉ số của bạn ba giờ một lần trong 24 giờ qua]

Webhook sẽ cung cấp cho bạn thông tin về khả năng gửi của bạn gần như theo thời gian thực và có thể được bật trong API Email – > Miền đang gửi – > Webhook sau khi hoàn thành một vài bước

  • Nhấp vào nút “Thêm Webhook mới”
  • Nhập một URL hợp lệ

  • Chọn một hoặc nhiều loại sự kiện
  • Kiểm tra webhook

  • Nhấp vào nút “Tạo Webhook”

Tất cả các bước trên được mô tả chi tiết trên trang webhook của cơ sở kiến ​​thức Mailtrap

Các tính năng khác của API Email Mailtrap bao gồm danh sách chặn, IP chuyên dụng cũng như tự động khởi động IP và bạn có thể tìm hiểu thêm về chúng thông qua các trang cơ sở kiến ​​thức chuyên dụng về Mailtrap hoặc video bên dưới vì chúng tôi sẽ không đề cập đến chúng trong phần này

Bắt đầu gửi bằng Mailtrap

Làm cách nào để gửi email HTML trong Laravel?

Trước đó, chúng tôi đã đề cập đến việc gửi email văn bản thuần túy, nhưng vì hầu hết các bạn sẽ muốn gửi những email HTML bắt mắt và hấp dẫn hơn nhiều, nên bây giờ chúng ta sẽ xem xét quá trình chuyển văn bản thuần túy thành HTML

Trong Laravel, quy trình này khá đơn giản và về cơ bản, tất cả những gì cần làm là thêm mã HTML vào tệp chế độ xem Blade của bạn, trong trường hợp của hướng dẫn này là

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
35

Đây là giao diện của email văn bản thuần túy của chúng tôi ở dạng HTML

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
3

Làm cách nào để gửi email có tệp đính kèm trong Laravel?

Tất nhiên, Laravel cho phép bạn thêm tệp đính kèm vào email của mình. Để thực hiện điều đó, trong mã ví dụ để gửi email mà chúng tôi đã sử dụng trước đó, chúng tôi sẽ cần sửa đổi phương thức

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
54

Chúng tôi bắt đầu với việc tạo ra chúng trong lớp

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
9

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
4

Sau đó, chúng tôi thực hiện các chỉnh sửa trong mã

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
56 bên dưới
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
37

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
5

Và đó là nó. Email của chúng tôi hiện có tệp đính kèm ICO có tên

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
58, như hiển nhiên trong đoạn mã trên

Làm cách nào để gửi email cho nhiều người nhận trong Laravel?

Gửi email cho nhiều người nhận là một yêu cầu khá thường xuyên và theo tài liệu của Laravel, nó có thể được thực hiện như sau

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
6

Về cơ bản, những gì đoạn mã trên thực hiện là lặp qua một mảng người nhận. Và, để ngăn chặn việc gửi một email khác tới mọi người nhận trước đó ở mỗi lần lặp qua vòng lặp, nó cũng tạo lại phiên bản có thể gửi thư mỗi lần

Nếu bạn muốn gửi email của mình cho chỉ một người nhận và cả “cc” và “bcc” nữa, bạn có thể làm điều đó bằng cách làm theo ví dụ này trong lớp

'from' => ['address' => 'example@example.com', 'name' => 'App Name'],
9

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
7

Làm cách nào để kiểm tra email trong Laravel?

Kiểm tra email là một trong những bước quan trọng trước khi gửi mà bạn cần hoàn thành. Nếu không, bạn có nguy cơ nhận được email của mình từ một miền nằm trong danh sách đen, bị đánh dấu là thư rác và/hoặc mã mẫu HTML của họ bị trình duyệt web hiển thị kém mà bạn không hề hay biết.

Và mặc dù không có gì ngăn cản bạn thử nghiệm bằng hộp thư đến cá nhân của mình, nhưng chọn giải pháp kiểm tra email là cách tốt nhất vì nó nhanh hơn, không ảnh hưởng đến danh tiếng miền của bạn, không làm đầy hộp thư đến của bạn bằng thư rác và đi kèm với một loạt

Một giải pháp có thể giải quyết một số thách thức kiểm tra email trong khi vẫn duy trì quy trình kiểm tra email an toàn là Hộp cát email Mailtrap, cũng là một phần của Nền tảng gửi email Mailtrap.  

Với Mailtrap Email Sandbox, bạn có thể bắt các email thử nghiệm từ môi trường dàn dựng và nhà phát triển, sau đó xem trước chúng, kiểm tra điểm thư rác nội dung và phân tích HTML/CSS của chúng, tất cả trước khi gửi chúng cho người nhận.  

Và đối với các nhà phát triển/QA muốn sắp xếp mọi thứ ngăn nắp hơn, Email Sandbox cho phép tạo nhiều hộp thư đến cho các dự án và giai đoạn khác nhau của dự án

Giải pháp thử nghiệm cũng sẽ cung cấp cho bạn thông tin chi tiết về thông tin giao dịch SMTP, cũng như các giá trị ban đầu của tiêu đề email và tùy chọn chuyển tiếp email thử nghiệm của bạn tới người nhận trong danh sách cho phép theo cách thủ công hoặc tự động

Quá trình thiết lập Email Sandbox và gửi email thử nghiệm đầu tiên của bạn chỉ mất năm phút bao gồm các bước sau

  • Tạo một tài khoản Mailtrap và đăng nhập.  
  • Trong tài khoản của bạn, điều hướng đến Hộp cát -> Hộp thư đến -> Cài đặt SMTP
  • Chọn Laravel từ danh sách tích hợp
  • Sao chép đoạn mã được tạo và dán vào tập lệnh gửi email của bạn
  • Chạy tập lệnh và nhanh chóng nhận được email kiểm tra trong hộp thư ảo Email Sandbox của bạn
  • Bắt đầu quá trình kiểm tra email Laravel

Kiểm tra email của bạn

Đối với mỗi hộp thư đến ảo của bạn, Email Sandbox cung cấp thông tin đăng nhập SMTP mà bạn có thể tìm thấy bằng cách nhấp vào “Hiển thị thông tin xác thực” trên trang Cài đặt SMTP. Vì vậy, nếu bạn thích sử dụng thông tin đăng nhập máy chủ Mailtrap SMTP hơn các đoạn mã, chỉ cần sao chép và dán chúng vào tập lệnh gửi email, cài đặt MTA, cài đặt ứng dụng email hoặc một hệ thống khác hỗ trợ chúng. Đây là một cách khác để bắt đầu sử dụng giải pháp thử nghiệm

Kết thúc mọi thứ

Trong bài viết này, chúng tôi đã đề cập rất nhiều về PHP Laravel và cách sử dụng nó để gửi email – từ ví dụ hàm

use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Envelope;
 
/**
* Get the message envelope.
*
* @return \Illuminate\Mail\Mailables\Envelope
*/
public function envelope[]
{
   return new Envelope[
       from: new Address['example@example.com', 'Test Sender'],
       subject: 'Test Email',
   ];
}
60 của Laravel đến email HTML và email có nhiều người nhận. Nhưng đó mới chỉ là bề nổi của những gì khung công tác PHP này có thể làm. Để tìm hiểu thêm, hãy xem tài liệu chính thức của Laravel

Mặt khác, nếu bạn đang tìm kiếm thêm nội dung về các email như thế này gửi email với hướng dẫn về Laravel, thì hãy đảm bảo khám phá thêm blog Mailtrap

Chủ Đề