Làm cách nào để gửi thư từ Laravel?

Một tính năng quan trọng khác của Laravel là cung cấp việc sử dụng API rõ ràng và đơn giản, miễn phí và giàu tính năng thư viện - "SwiftMailer", được sử dụng để gửi email. Với sự trợ giúp của các chức năng thư viện, các nhà phát triển Laravel dễ dàng gửi email mà không gặp bất kỳ trở ngại nào. Các nhà phát triển có thể sử dụng cú pháp phiến để đưa dữ liệu vào một mẫu vì các mẫu email được tải giống như cách xem

Cú pháp trông giống như thế này

cú pháp

void send[string|array $view, array $data, Closure|string $callback]
  • Ở đây void chỉ ra rằng điều này sẽ không trả lại bất kỳ giá trị nào
  • string|array $view cung cấp tên xem, có thông báo email
  • Mail::send[['text'=>'text.view'], $data, $callback];
    0 là tập hợp dữ liệu phải được chuyển để xem
  • Mail::send[['text'=>'text.view'], $data, $callback];
    1 có khả năng tùy chỉnh chủ đề của người nhận và các chi tiết thư khác dưới dạng một
    Mail::send[['text'=>'text.view'], $data, $callback];
    2 được nhận dưới dạng thư thể hiện

Các phương pháp khác nhau của hệ thống gửi thư

Đối số thứ ba trong hàm trên lấy ví dụ là một tin nhắn và một số hàm sau giúp thực hiện tương tác gửi thư tốt hơn. đó là

  • $message -> subject['Hướng dẫn về Laravel'];
  • $message ->from['testuser@example. com', 'tên bất kỳ'];
  • $message ->to['alex@example. com', 'Alex'];

Các phương pháp thường được sử dụng khác là

  • $message ->sender['testuser@example. com', 'tên bất kỳ'];
  • $message ->returnPath['testuser@example. com'];
  • $message ->cc['testuser@example. com', 'tên bất kỳ'];
  • $message ->bcc['neha@example. com', 'Neha'];
  • $message ->replyTo['testuser@example. com', 'tên bất kỳ'];
  • $message ->priority[4];

Để gửi thư văn bản thuần túy, bạn phải sử dụng cú pháp hiển thị bên dưới

Mail::send[['text'=>'text.view'], $data, $callback];

Toàn bộ cú pháp này ở định dạng mảng-khóa-giá trị, trong đó đối số đầu tiên có dạng mảng theo sau là văn bản và tên của chế độ xem dưới dạng cặp khóa-giá trị

Các bước để gửi email trong Laravel

Vì vậy, chủ đề là gửi email qua tài khoản Gmail và cần tệp môi trường Laravel, đó là. env, để định cấu hình với tài khoản Gmail của bạn. Tệp môi trường chứa tập lệnh

MAIL_DRIVER = smtp
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 587
MAIL_USERNAME = developers-Gmail-username
MAIL_PASSWORD = developers-password
MAIL_ENCRYPTION = tls

Tiếp theo, bạn phải xóa bộ đệm và khởi động lại máy chủ Laravel của mình. Đối với điều đó, bạn phải sử dụng các lệnh sau

php artisan config:cache

Sau đó, để tạo MailController, bạn phải gõ và chạy lệnh dưới đây

php artisan make:controller MailController --plain

Sau đó, bạn phải thiết lập nội dung bên trong của MailController. php và để làm được điều này, bạn phải viết đoạn script được đề cập bên dưới

Gửi email là một trong những tính năng phổ biến nhất mà mọi ứng dụng web cung cấp. Một số trang web sử dụng tính năng gửi email của họ để gửi bản tin và một số sử dụng tính năng này để thu thập phản hồi phản hồi

Các trang web hỗ trợ PHP sử dụng phương thức Mail[] php để gửi email. Tuy nhiên, trong trường hợp này, bảo mật thường bị xâm phạm vì đây không phải là cách an toàn nhất để gửi/nhận email trên trang web

Để gửi email trong Laravel, framework cung cấp một số tính năng nâng cao để làm việc với. Nó có các gói khác nhau có sẵn trên thị trường giúp tích hợp chức năng gửi email dễ dàng.  

Tại sao nên sử dụng Laravel để gửi email?

Laravel cung cấp nhiều công cụ khác nhau để định cấu hình email trong trang web. Bạn có thể kiểm tra một số tùy chọn dưới đây.

  • Laravel đề xuất sử dụng trình điều khiển cho SMTP, Mailgun, SparkPost, Amazon SES và sendmail
  • Laravel cung cấp các tùy chọn để xếp hàng email
  • Trong Laravel, bạn có thể sử dụng hỗ trợ Markdown có sẵn trong một số khung. Nó giúp tạo các mẫu tuyệt vời như nút hoặc bảng điều khiển, v.v.
  • Bạn có thể đính kèm các tệp có định dạng khác nhau [JPEG, PDF], v.v. bằng cách sử dụng hệ thống Tạo mẫu của Laravel, cho phép bạn 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 người dùng cụ thể

Ngừng lãng phí thời gian trên máy chủ

Cloudways xử lý việc quản lý máy chủ cho bạn để bạn có thể tập trung vào việc tạo các ứng dụng tuyệt vời và giữ cho khách hàng của mình hài lòng

Cài đặt Laravel

Với mục đích của hướng dẫn này, tôi giả sử rằng bạn đã cài đặt ứng dụng Laravel trên máy chủ web

[email protected]'] ->view['emails.CloudHosting.Product]; }

Địa chỉ thư toàn cầu

Nếu thư của bạn giống nhau trên tất cả các ứng dụng web của chúng tôi thì bạn có thể cấu hình trước trong config/mail. php trong Laravel bằng cách sử dụng đoạn mã sau

Nếu bạn đang sử dụng cùng một địa chỉ email trên toàn bộ ứng dụng, thì trước tiên bạn phải định cấu hình địa chỉ đó trong tệp config/mail. tập tin php. Chỉ cần sao chép và dán đoạn mã sau

'from' => ['address' => '[email protected]', 'name' => 'App Name'],

Cài đặt View cho Laravel Mail

Trong phương thức xây dựng của lớp có thể gửi thư, bạn có thể sử dụng phương thức xem để chỉ định mẫu nào sẽ được sử dụng để gửi thư khi hiển thị nội dung của email

public function build[]
{
    return $this->view['emails.CloudHosting.Product];
}

Xem dữ liệu

Bạn muốn chuyển một số dữ liệu đến chức năng xem mà bạn có thể sử dụng khi hiển thị HTML của email? .  

Đầu tiên, bất kỳ thuộc tính công khai nào được xác định trong lớp có thể gửi thư của bạn sẽ tự động có sẵn cho chế độ xem. Ví dụ: bạn có thể truyền dữ liệu vào hàm tạo của lớp có thể gửi thư của mình và đặt dữ liệu đó thành các thuộc tính công khai được xác định trên lớp

name = $name;
    }
    public function build[]
    {
        return $this->view['emails.name'];
    }
}

Khi dữ liệu đã được đặt thành thuộc tính công khai, nó sẽ tự động có sẵn trong chế độ xem của bạn

Tạo mẫu email Laravel

Name: {{ $name }}

Định cấu hình các tuyến đường

Tạo tuyến đường bằng cách dán đoạn mã sau vào web. tập tin php

Route::get['/send/email', '[email protected]'];

Tập tin điều khiển

Bây giờ, hãy tạo một tệp điều khiển với bất kỳ tên ưa thích nào của bạn. Đối với hướng dẫn này, tôi sẽ dán đoạn mã sau vào HomeController

public function mail[]
{
   $name = 'Cloudways';
   Mail::to['[email protected]']->send[new SendMailable[$name]];
   
   return 'Email sent Successfully';
}

Cấu hình cho Laravel Gmail SMTP

Cài đặt email trong Laravel với Gmail SMTP khá dễ dàng. Trước hết, bạn cần cấu hình các cài đặt cơ bản. Để thực hiện bước này, Dán đoạn mã sau vào. env theo cài đặt của bạn

MAIL_DRIVER=smtp
MAIL_HOST=smtp.googlemail.com
MAIL_PORT=465
MAIL_USERNAME=ENTER_YOUR_EMAIL_ADDRESS[GMAIL]
MAIL_PASSWORD=ENTER_YOUR_GMAIL_PASSWORD
MAIL_ENCRYPTION=ssl

Trong cài đặt nêu trên, bạn có thể định cấu hình MAIL_DRIVER là SMTP, MAIL_HOST cho Gmail là smtp. thư Google. com, MAIL_ PORT cho Gmail là phương thức 465 và MAIL_ENCRYPTION là SSL

Vì chúng tôi đang sử dụng Gmail SMTP với Laravel, chúng tôi cần thay đổi một số cài đặt bảo mật trên tài khoản Google của mình để cấp quyền truy cập cho các ứng dụng kém an toàn hơn

Cài đặt tài khoản Gmail

Sau khi định cấu hình thành công cài đặt cho ứng dụng Laravel của bạn, hãy truy cập tài khoản Gmail của bạn

[email protected]'] ->view['emails.CloudHosting.Product]; } 0

6 công cụ gửi email hàng đầu cho Laravel

Có nhiều gói email và nguồn có sẵn cho Laravel. Hãy xem một số công cụ được sử dụng phổ biến nhất trong Laravel để gửi email

  1. bẫy thư
  2. súng thư
  3. gửi lưới
  4. Mandrill
  5. người gửi thư nhanh
  6. mailchimp

Tích hợp Mailtrap với Laravel

Mailtrap có một máy chủ mặc định trong Laravel, vì vậy bạn chỉ cần nhập thông tin đăng nhập của mình vào đó. Chỉ cần cài đặt Laravel bằng cách sử dụng Nền tảng lưu trữ được quản lý trên nền tảng đám mây và dán các cấu hình sau vào. tập tin env

[email protected]'] ->view['emails.CloudHosting.Product]; } 1

[email protected]'] ->view['emails.CloudHosting.Product]; } 2

Tạo lớp Mailable cho Mailtrap

Bây giờ, tạo một lớp Mailable bằng cách dán lệnh sau vào SSH Terminal

 */
public function build[]
{
    return $this->from['[email protected]']
                ->view['emails.CloudHosting.Product];
}
3

[email protected]'] ->view['emails.CloudHosting.Product]; } 4

Tiếp theo, bạn phải tạo một thông báo cho điều này trong thanh kiếm. tập tin php. Trong ví dụ này, tôi đã chỉ định lớp mailable trong thư. thí dụ. Bây giờ bạn phải tạo thư mục 'mails' với tệp mẫu phiến 'emailexample. lưỡi. php'.  

tuyến đường

Để tạo lộ trình cho thư, chỉ cần dán đoạn mã sau

 */
public function build[]
{
    return $this->from['[email protected]']
                ->view['emails.CloudHosting.Product];
}
5

Tích hợp SendGrid với Laravel

Một công cụ phổ biến khác cho email của Laravel là SendGrid. Cùng tham khảo hướng dẫn gửi email với SendGrid trong Laravel sau đây.  

[email protected]'] ->view['emails.CloudHosting.Product]; } 6

[email protected]'] ->view['emails.CloudHosting.Product]; } 7

Lệnh này sẽ tạo một tệp mới trong ứng dụng/Mail/TestEmail. php và nó sẽ trông như thế này

 */
public function build[]
{
    return $this->from['[email protected]']
                ->view['emails.CloudHosting.Product];
}
8

Chế độ xem email của Laravel

Hãy tạo Laravel View cho Email Templates khi gửi email. Chỉ cần dán đoạn mã sau vào tệp xem của bạn nằm trong lượt xem/email/kiểm tra. lưỡi. php

 */
public function build[]
{
    return $this->from['[email protected]']
                ->view['emails.CloudHosting.Product];
}
9

Tích hợp Mailgun trong Laravel

Trước hết, bạn phải đăng ký Mailgun và tạo một tài khoản miễn phí. Sau khi tạo tài khoản, bạn có thể thay đổi. cài đặt tệp env chỉ bằng cách thay đổi Trình điều khiển thư thành mailgun

[email protected]', 'name' => 'App Name'], 0

Định tuyến Mailgun của Laravel

Hãy tạo các tuyến để kiểm tra email bằng Mailgun. Chỉ cần sao chép mã dưới đây vào web ứng dụng của bạn. tập tin php

'from' => ['address' => '[email protected]', 'name' => 'App Name'],
1

Bạn cũng có thể muốn bao gồm một dòng chủ đề và có thể là một email người gửi như vậy

'from' => ['address' => '[email protected]', 'name' => 'App Name'],
2

Tích hợp Mandrill trong Laravel

Trước hết bạn phải tạo một tài khoản trên Mandrill và sau đó phải cài guzzle cho cái đó. Chỉ cần dán lệnh sau vào ứng dụng của bạn

'from' => ['address' => '[email protected]', 'name' => 'App Name'],
3

[email protected]', 'name' => 'App Name'], 4

Gửi email Mandrill

Sao chép phương thức được đề cập bên dưới để gửi email bằng Mandrill

'from' => ['address' => '[email protected]', 'name' => 'App Name'],
5

Tích hợp Mailchimp trong Laravel

Để tích hợp Mailchimp trong Laravel, trước tiên bạn phải tạo một tài khoản miễn phí trên Mailchimp. Sau khi đăng nhập thành công, hãy tạo Danh sách trên menu, sau đó chuyển đến Cài đặt và sao chép ID Danh sách mà bạn sẽ sử dụng trong API. mở của bạn. env và dán khóa API vào đó

'from' => ['address' => '[email protected]', 'name' => 'App Name'],
6

Cài đặt gói Laravel Mailchimp

Sau khi cấu hình thành công các cài đặt trong. env, hãy mở thiết bị đầu cuối SSH của bạn và dán lệnh sau

'from' => ['address' => '[email protected]', 'name' => 'App Name'],
7

Tệp cấu hình Laravel

Bây giờ, hãy thiết lập tệp cấu hình của bạn bằng cách dán đoạn mã sau vào tệp cấu hình của bạn. tập tin php

'from' => ['address' => '[email protected]', 'name' => 'App Name'],
8

Định tuyến Laravel

Bây giờ, hãy thiết lập các tuyến ứng dụng web của bạn như hình bên dưới

'from' => ['address' => '[email protected]', 'name' => 'App Name'],
9

Bộ điều khiển Laravel

Bây giờ, hãy tạo một bộ điều khiển có tên là MailchmpController. php

public function build[]
{
    return $this->view['emails.CloudHosting.Product];
}
0

Chế độ xem Laravel

Sau khi tạo Controller, bước tiếp theo là tạo file view blade của bạn trong resource/views/mailchimp. lưỡi. php. Chỉ cần dán đoạn mã sau vào tệp. Bạn cũng có thể xem tích hợp MailChimp php Trên Cloudways, vì đây thực sự là một nền tảng tất cả trong một để tương tác với khán giả của bạn và các bên liên quan khác

public function build[]
{
    return $this->view['emails.CloudHosting.Product];
}
1

Q. Nhà cung cấp dịch vụ gửi email bên thứ ba nào được hỗ trợ theo mặc định trong Laravel?

A. Sau đây được hỗ trợ theo mặc định trong Laravel

  • súng thư
  • tia lửa điện
  • Amazon SES

Q. Những lý do phổ biến khiến email không gửi được là gì?

A. Lý do tại sao email có thể không được gửi

  • Lỗi kỹ thuật của tập lệnh lập trình của bạn
  • Bị chặn bởi nhà cung cấp dịch vụ lưu trữ của bạn trong khi gửi
  • Đã đạt đến giới hạn tốc độ gửi email do nhà cung cấp dịch vụ lưu trữ của bạn đặt
  • Bị chặn bởi máy chủ người nhận vì “tiếng xấu” của máy chủ nhà cung cấp dịch vụ lưu trữ của bạn
  • Đã vào SPAM hoặc một thư mục được lọc tự động khác

Q. Làm cách nào để sử dụng thư [] trong Laravel?

A. Laravel cung cấp API mạnh mẽ và rõ ràng trên thư viện SwiftMailer với trình điều khiển cho Mailgun, SMTP, Amazon SES, SparkPost và gửi email. Với API này, chúng tôi có thể gửi email trên máy chủ cục bộ cũng như máy chủ trực tiếp

Thí dụ
Laravel cho phép chúng tôi lưu trữ email trong các tệp xem của chúng tôi. Ví dụ: để quản lý email của chúng tôi, chúng tôi có thể tạo thư mục email trong thư mục tài nguyên/lượt xem của mình

Q. Làm cách nào để kiểm tra xem email đã được gửi trong Laravel chưa?

A. Nói chung, thư. fail[] trả về một mảng các địa chỉ email bị lỗi

Q. Làm cách nào để tạo mẫu email trong Laravel?

A. Tệp mẫu email là tệp phiến mà bạn có thể tùy chỉnh để thêm chi tiết và các phần tùy chỉnh theo thiết kế mẫu email của mình

Từ cuối cùng

Điều này đưa chúng ta đến phần cuối của bài viết này, trình bày chi tiết quá trình tích hợp hoàn chỉnh của các công cụ gửi email khác nhau trong Laravel. Sử dụng các công cụ dựng sẵn này, bạn có thể dễ dàng gửi email trong ứng dụng Laravel – trong thời gian nhanh chóng. Hơn nữa, như đã đề cập ở trên, quy trình tích hợp của chúng khá dễ dàng, vì vậy các nhà phát triển có thể nhanh chóng bắt đầu với các công cụ gửi email của Laravel

Nếu bạn vẫn có bất kỳ câu hỏi nào liên quan đến bài viết này, vui lòng hỏi họ trong phần bình luận bên dưới

Đánh giá của khách hàng tại

“Dịch vụ lưu trữ trên nền tảng đám mây có một trong những dịch vụ khách hàng tốt nhất và tốc độ lưu trữ”

Sanjit C [Nhà phát triển trang web]

Saquib Rizwan

Saquib là Chuyên gia cộng đồng PHP tại Cloudways - Nền tảng đám mây lưu trữ PHP được quản lý. Anh thông thạo PHP và thường xuyên đóng góp cho các dự án mã nguồn mở. Để giải trí, anh ấy thích chơi game, xem phim và đi chơi với bạn bè. Bạn có thể gửi email cho anh ấy tại [email protected]

Làm cách nào để gửi email từ Laravel 8?

Gửi email trong Laravel 8 bằng máy chủ SMTP của Gmail .
Gửi email đã trở thành một phần thiết yếu của các ứng dụng web hiện đại. .
Theo mặc định, dự án được phục vụ trên cổng 8000 trên máy chủ cục bộ. .
Định cấu hình cài đặt tài khoản Google. .
Thiết lập kết nối cơ sở dữ liệu. .
Tạo một Mailable. .
Thiết lập bộ điều khiển

Làm cách nào để gửi thư SMTP trong Laravel?

Làm theo các bước đơn giản dưới đây để gửi email trong Laravel 9 bằng SMTP. .
Cài đặt Laravel 9 & Định cấu hình thông tin xác thực SMTP
Tạo một lớp thư
Tạo bộ điều khiển thư
Tạo một thư mục email và chế độ xem phiến
Thêm một tuyến đường gửi email
Chạy và kiểm tra ứng dụng

Làm cách nào để gửi thư trong Laravel API?

Làm cách nào để gửi email trong Laravel bằng API email giao dịch? .
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 route/web. php và chạy với ứng dụng của bạn

Làm cách nào để gửi thư từ Laravel 9?

vì vậy hãy xem hướng dẫn từng bước và gửi email đến yêu cầu của bạn. .
Bước 1. Cài đặt Laravel 9
Bước 2. Tạo cấu hình
Bước 3. Tạo lớp thư
Bước 4. Tạo bộ điều khiển
Bước 5. Tạo tuyến đường
Bước 6. Tạo Chế độ xem Blade
Chạy ứng dụng Laravel

Chủ Đề