目錄
文法
範例
.env
首頁 php框架 Laravel Laravel - 發送電子郵件

Laravel - 發送電子郵件

Aug 27, 2024 am 10:50 AM
laravel

Laravel 使用功能豐富的免費庫 SwiftMailer 來發送電子郵件。使用函式庫函數,我們可以輕鬆地發送電子郵件,而無需太多麻煩。電子郵件範本的載入方式與視圖相同,這表示您可以使用 Blade 語法並將資料注入到範本中。

下表顯示了send函數的語法和屬性 -

表>

在第三個參數中,$callback 閉包接收到訊息實例,透過該實例,我們也可以呼叫以下函數並更改訊息,如下所示。

  • $message → subject('歡迎來到教程點');
  • $message → from('email@example.com', '範例先生');
  • $message → to('email@example.com', '例先生');

一些不太常見的方法包括 -

  • $message → sender('email@example.com', '例先生');
  • $message → returnPath('email@example.com');
  • $message → cc('email@example.com', '例先生');
  • $message → bcc('email@example.com', '例先生');
  • $message→replyTo('email@example.com', '例先生');
  • $訊息 → 優先權(2);

要附加或嵌入文件,您可以使用以下方法 -

  • $message → Attach('path/to/attachment.txt');
  • $message → embed('path/to/attachment.jpg');

郵件可以以 HTML 或文字形式傳送。您可以透過傳遞陣列來指示要在第一個參數中傳送的郵件類型,如下所示。預設類型是 HTML。如果您想發送純文字郵件,請使用以下語法。

文法

Mail::send([‘text’=>’text.view’], $data, $callback);

在此語法中,第一個參數採用陣列。使用 text 作為視圖的鍵名作為鍵的值。

範例

第 1 步 - 我們現在將從 Gmail 帳戶發送一封電子郵件,為此您需要在 Laravel 環境文件 - .env 文件中配置您的 Gmail 帳戶。在您的 Gmail 帳戶中啟用兩步驟驗證並建立應用程式特定密碼,然後變更 .env 參數,如下所示。

.env

MAIL_DRIVER = smtp
MAIL_HOST = smtp.gmail.com
MAIL_PORT = 587
MAIL_USERNAME = your-gmail-username
MAIL_PASSWORD = your-application-specific-password
MAIL_ENCRYPTION = tls

第 2 步 - 更改 .env 檔案後,執行以下兩個命令以清除快取並重新啟動 Laravel 伺服器。

php artisan config:cache

第 3 步 - 執行下列指令建立一個名為 Laravel - 發送電子郵件 的控制器。

php artisan make:controller Laravel - 發送電子郵件 --plain

步驟 4 − 成功執行後,您將收到以下輸出 −

Laravel - 發送電子郵件

第 5 步 - 將以下程式碼複製到

app/Http/Controllers/Laravel - 發送電子郵件.php 檔案。

app/Http/Controllers/Laravel - 發送電子郵件.php

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Mail;

use App\Http\Requests;
use App\Http\Controllers\Controller;

class Laravel - 發送電子郵件 extends Controller {
   public function basic_email() {
      $data = array('name'=>"Virat Gandhi");
   
      Mail::send(['text'=>'mail'], $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel Basic Testing Mail');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "Basic Email Sent. Check your inbox.";
   }
   public function html_email() {
      $data = array('name'=>"Virat Gandhi");
      Mail::send('mail', $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel HTML Testing Mail');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "HTML Email Sent. Check your inbox.";
   }
   public function attachment_email() {
      $data = array('name'=>"Virat Gandhi");
      Mail::send('mail', $data, function($message) {
         $message->to('abc@gmail.com', 'Tutorials Point')->subject
            ('Laravel Testing Mail with Attachment');
         $message->attach('C:\laravel-master\laravel\public\uploads\image.png');
         $message->attach('C:\laravel-master\laravel\public\uploads\test.txt');
         $message->from('xyz@gmail.com','Virat Gandhi');
      });
      echo "Email Sent with attachment. Check your inbox.";
   }
}

第 6 步 - 將以下程式碼複製到 resources/views/mail.blade.php 檔案中。

resources/views/mail.blade.php

<h1>Hi, {{ $name }}</h1>
l<p>Sending Mail from Laravel.</p>

第 7 步 - 在 app/Http/routes.php.

中加入以下行

app/Http/routes.php

Route::get('sendbasicemail','Laravel - 發送電子郵件@basic_email');
Route::get('sendhtmlemail','Laravel - 發送電子郵件@html_email');
Route::get('sendattachmentemail','Laravel - 發送電子郵件@attachment_email');

第 8 步 - 存取以下 URL 來測試基本電子郵件。

http://localhost:8000/sendbasicemail

步驟 9 - 輸出畫面將如下所示。檢查您的收件匣以查看基本的電子郵件輸出。

Basic Email Sent

第 10 步 - 存取以下 URL 來測試 HTML 電子郵件。

http://localhost:8000/sendhtmlemail

步驟 11 - 輸出畫面將如下所示。檢查您的收件匣以查看 html 電子郵件輸出。

HTML Email

第 12 步 - 存取以下 URL 來測試帶有附件的 HTML 電子郵件。

http://localhost:8000/sendattachmentemail

第 13 步 - 您可以看到以下輸出

Email Sent

注意 - 在Laravel - 發送電子郵件.php 文件中,from 方法中的電子郵件地址應該是您可以發送電子郵件地址的電子郵件地址。一般應該是你在伺服器上設定的郵件地址。

語法 void send(string|array $view, array $data, Closure|string $callback)
參數
  • Syntax void send(string|array $view, array $data, Closure|string $callback)
    Parameters
    • $view(string|array) − name of the view that contains email message

    • $data(array) − array of data to pass to view

    • $callback − a Closure callback which receives a message instance, allowing you to customize the recipients, subject, and other aspects of the mail message

    Returns nothing
    Description Sends email.
    $view(string|array) - 包含電子郵件的視圖名稱
  • $data(array) - 傳遞給視圖的資料數組
  • $callback - 接收訊息實例的閉包回調,讓您自訂郵件訊息的收件者、主題和其他方面
退貨 沒什麼
描述 發送電子郵件。

以上是Laravel - 發送電子郵件的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

與Laravel中的樞軸表合作多對多關係 與Laravel中的樞軸表合作多對多關係 Jul 07, 2025 am 01:06 AM

toworkeffectivelywithpivottablesinlaravel,firstAccessPivotDatausingwithPivot()orwithTimestamps(),thenupdateentrieswithupdatee XistingPivot(),ManageraliationShipsviadeTach()andsync(),andusecustompivotModelSwhenNeed.1.UseWithPivot()toincludespecificcol

在Laravel應用程序中添加多語言支持 在Laravel應用程序中添加多語言支持 Jul 03, 2025 am 01:17 AM

Laravel應用實現多語言支持的核心方法包括:設置語言文件、動態切換語言、翻譯URL路由及管理Blade模板中的翻譯鍵。首先,將各語言字符串組織在/resources/lang目錄下的對應文件夾(如en、es、fr)中,並通過返回關聯數組定義翻譯內容;2.通過\_\_()輔助函數調用翻譯鍵值,並使用App::setLocale()結合會話或路由參數實現語言切換;3.對於翻譯URL,可通過帶前綴的路由組分別為不同語言定義路徑,或動態映射語言文件中的路由別名;4.在Blade模板中保持翻譯鍵簡潔並

通過Laravel發送不同類型的通知 通過Laravel發送不同類型的通知 Jul 06, 2025 am 12:52 AM

laravelProvidesLeanAndFlexibleWayTosendificationsViamultiplipliplipliplikeMail,SMS,In-Appalerts,and-Appalerts,andPushNotifications.youdefineNotificationChannelsinthelsinthevia()MethodofanotificationClass,andimpecificementpecificementpecificementpecificemmethodssliketomail()

Laravel MVC:真實代碼樣本 Laravel MVC:真實代碼樣本 Jul 03, 2025 am 12:35 AM

Laravel的MVC架構由模型、視圖和控制器組成,分別負責數據邏輯、用戶界面和請求處理。 1)創建User模型定義數據結構和關係。 2)UserController處理用戶請求,包括列出、顯示和創建用戶。 3)視圖使用Blade模板展示用戶數據。該架構提升了代碼的清晰度和可維護性。

了解和創建Laravel的自定義服務提供商 了解和創建Laravel的自定義服務提供商 Jul 03, 2025 am 01:35 AM

ServiceProvider是Laravel框架中用於註冊服務和初始化邏輯的核心機制,通過Artisan命令可創建自定義ServiceProvider;1.register方法用於綁定服務、註冊單例、設置別名等操作,不可調用尚未加載的其他服務;2.boot方法在所有服務註冊完成後運行,用於註冊事件監聽器、視圖合成器、中間件等依賴其他服務的邏輯;常見用途包括綁定接口與實現、註冊Facade、加載配置、註冊命令行指令和視圖組件;建議集中相關綁定於一個ServiceProvider中管理,並註意註冊

在Laravel應用程序中處理異常和記錄錯誤 在Laravel應用程序中處理異常和記錄錯誤 Jul 02, 2025 pm 03:24 PM

在Laravel應用中處理異常和記錄錯誤的核心方法包括:1.利用App\Exceptions\Handler類集中管理未處理異常,通過report()方法記錄或通知異常信息,例如發送Slack通知;2.使用Monolog配置日誌系統,在config/logging.php中設置日誌級別與輸出方式,並在生產環境中啟用error及以上級別日誌,同時可在report()中結合上下文手動記錄詳細異常信息;3.自定義render()方法以返回統一的JSON格式錯誤響應,提升API前後端協作效率。這些步驟確

在Laravel中配置和發送電子郵件通知 在Laravel中配置和發送電子郵件通知 Jul 05, 2025 am 01:26 AM

tosetupemailnotificationsinlaravel,firstConfigureMailSettingsInthe.envfilewithsmtporservice-specificedetailslikemail \ _mailer,m ail \ _host,郵件\ _ port,郵件\ _username,郵件\ _password,andmail \ _from \ _address.next,testtheconfigurationusingmailsmail :: raw()raw()tosendasam

管理數據庫狀態進行Laravel測試 管理數據庫狀態進行Laravel測試 Jul 13, 2025 am 03:08 AM

在Laravel測試中管理數據庫狀態的方法包括使用RefreshDatabase、選擇性播種數據、謹慎使用事務和必要時手動清理。 1.使用RefreshDatabasetrait自動遷移數據庫結構,確保每次測試都基於乾淨的數據庫;2.通過調用特定種子填充必要數據,結合模型工廠生成動態數據;3.使用DatabaseTransactionstrait回滾測試更改,但需注意其局限性;4.在無法自動清理時,手動截斷表或重新播種數據庫。這些方法根據測試類型和環境靈活選用,以保證測試的可靠性和效率。

See all articles