溫馨提示×

如何在Ubuntu上配置Laravel郵件服務

小樊
40
2025-09-14 21:44:43
欄目: 智能運維

在Ubuntu上配置Laravel郵件服務,你可以選擇使用SMTP、Mailgun、SendGrid、Amazon SES等第三方郵件服務,或者使用本地郵件傳輸代理(如Postfix)來發送郵件。以下是使用SMTP和本地Postfix配置Laravel郵件服務的步驟:

使用SMTP配置Laravel郵件服務

  1. 安裝Laravel: 如果你還沒有安裝Laravel,請先通過Composer安裝:

    composer create-project --prefer-dist laravel/laravel your-project-name
    
  2. 配置.env文件: 打開項目根目錄下的.env文件,并配置SMTP設置。以下是一個使用Gmail SMTP的示例:

    MAIL_MAILER=smtp
    MAIL_HOST=smtp.gmail.com
    MAIL_PORT=587
    MAIL_USERNAME=your-email@gmail.com
    MAIL_PASSWORD=your-email-password
    MAIL_ENCRYPTION=tls
    MAIL_FROM_ADDRESS=your-email@gmail.com
    MAIL_FROM_NAME="${APP_NAME}"
    
  3. 驗證配置: 你可以創建一個簡單的控制器來測試郵件發送功能。例如:

    php artisan make:controller MailController
    

    然后在MailController中添加以下代碼:

    namespace App\Http\Controllers;
    
    use Illuminate\Http\Request;
    use Illuminate\Support\Facades\Mail;
    use App\Mail\ExampleMail;
    
    class MailController extends Controller
    {
        public function sendEmail()
        {
            Mail::to('recipient@example.com')->send(new ExampleMail());
            return 'Email sent!';
        }
    }
    

    創建一個Mailable類:

    php artisan make:mail ExampleMail
    

    ExampleMail.php中添加以下代碼:

    namespace App\Mail;
    
    use Illuminate\Bus\Queueable;
    use Illuminate\Mail\Mailable;
    use Illuminate\Queue\SerializesModels;
    use Illuminate\Contracts\Queue\ShouldQueue;
    
    class ExampleMail extends Mailable
    {
        use Queueable, SerializesModels;
    
        public function build()
        {
            return $this->view('emails.example');
        }
    }
    

    創建一個視圖文件resources/views/emails/example.blade.php

    <!DOCTYPE html>
    <html>
    <head>
        <title>Example Email</title>
    </head>
    <body>
        <h1>Hello, this is an example email!</h1>
    </body>
    </html>
    
  4. 運行測試: 訪問http://your-app-url/mail/send-email來測試郵件發送功能。

使用本地Postfix配置Laravel郵件服務

  1. 安裝Postfix

    sudo apt update
    sudo apt install postfix
    

    在安裝過程中,選擇“Internet Site”作為配置類型,并設置系統郵件名稱。

  2. 配置Postfix: 編輯/etc/postfix/main.cf文件,添加以下內容:

    myhostname = your-hostname
    mydomain = your-domain.com
    myorigin = $mydomain
    inet_interfaces = all
    mydestination = $myhostname, localhost.$mydomain, $mydomain
    relayhost =
    
  3. 重啟Postfix

    sudo systemctl restart postfix
    
  4. 配置Laravel: 打開.env文件,并配置郵件服務為本地SMTP:

    MAIL_MAILER=smtp
    MAIL_HOST=127.0.0.1
    MAIL_PORT=25
    MAIL_USERNAME=
    MAIL_PASSWORD=
    MAIL_ENCRYPTION=none
    MAIL_FROM_ADDRESS=your-email@your-domain.com
    MAIL_FROM_NAME="${APP_NAME}"
    
  5. 驗證配置: 使用與SMTP相同的步驟來測試郵件發送功能。

通過以上步驟,你可以在Ubuntu上配置Laravel郵件服務,無論是使用SMTP還是本地Postfix。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女