<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Laravel 對接 SendGrid 發(fā)送郵件

      Laravel 對接 SendGrid 發(fā)送郵件

      一、前期準(zhǔn)備:SendGrid 賬戶與 API 密鑰配置

      1. 注冊并配置 SendGrid 賬戶
      • 訪問 SendGrid 官網(wǎng) 完成注冊,新用戶可享受每月 100 封免費(fèi)郵件額度
      • 登錄后進(jìn)入控制臺,完成賬戶驗(yàn)證(郵箱驗(yàn)證和手機(jī)號驗(yàn)證)
      1. 創(chuàng)建 API 密鑰

      API 密鑰是 Laravel 與 SendGrid 通信的核心憑證,創(chuàng)建步驟:

      1. 進(jìn)入 Settings > API Keys 菜單
      2. 點(diǎn)擊 Create API Key 按鈕
      3. 選擇密鑰權(quán)限:
        • 測試環(huán)境:建議選擇「Full Access」
        • 生產(chǎn)環(huán)境:推薦按最小權(quán)限原則,至少保留「Mail Send」權(quán)限
      4. 生成后立即復(fù)制密鑰(僅顯示一次),妥善保存

      二、Laravel 項(xiàng)目基礎(chǔ)配置

      1. 安裝 SendGrid PHP 庫

      通過 Composer 安裝官方 SDK:

      bash

      composer require sendgrid/sendgrid
      
      1. 配置環(huán)境變量

      編輯項(xiàng)目根目錄的 .env 文件,添加 SendGrid 相關(guān)配置:

      env

      # 郵件驅(qū)動配置
      MAIL_MAILER=smtp
      MAIL_HOST=smtp.sendgrid.net
      MAIL_PORT=587
      MAIL_USERNAME=apikey
      MAIL_PASSWORD=your_sendgrid_api_key  # 替換為實(shí)際API密鑰
      MAIL_ENCRYPTION=tls
      MAIL_FROM_ADDRESS=your_verified_email@example.com  # 已驗(yàn)證的發(fā)件郵箱
      MAIL_FROM_NAME="${APP_NAME}"  # 發(fā)件人名稱
      

      三、發(fā)送郵件的三種實(shí)現(xiàn)方式

      1. 使用 Mail Facade 發(fā)送簡單郵件

      php

      use Illuminate\Support\Facades\Mail;
      
      // 發(fā)送純文本郵件
      Mail::raw('這是通過SendGrid發(fā)送的測試郵件', function ($message) {
          $message->to('recipient@example.com')
                  ->subject('測試郵件');
      });
      
      1. 發(fā)送帶視圖的 HTML 郵件

      2. 創(chuàng)建視圖文件 resources/views/emails/welcome.blade.php:

      html

      <h1>歡迎注冊 {{ $appName }}</h1>
      <p>尊敬的 {{ $userName }},感謝您的注冊!</p>
      
      1. 發(fā)送郵件:

      php

      Mail::send('emails.welcome', [
          'appName' => config('app.name'),
          'userName' => '測試用戶'
      ], function ($message) {
          $message->to('user@example.com')
                  ->subject('歡迎注冊通知');
      });
      
      1. 使用自定義郵件類(推薦)

      2. 生成郵件類:

      bash

      php artisan make:mail WelcomeEmail
      
      1. 編輯郵件類 app/Mail/WelcomeEmail.php:

      php

      namespace App\Mail;
      
      use Illuminate\Mail\Mailable;
      
      class WelcomeEmail extends Mailable
      {
          use Queueable, SerializesModels;
          
          public $user;
          
          public function __construct($user)
          {
              $this->user = $user;
          }
          
          public function build()
          {
              return $this->view('emails.welcome')
                          ->subject('歡迎加入我們');
          }
      }
      
      1. 發(fā)送郵件:

      php

      use App\Mail\WelcomeEmail;
      use Illuminate\Support\Facades\Mail;
      
      $user = User::find(1);
      Mail::to($user->email)->send(new WelcomeEmail($user));
      

      四、發(fā)件人驗(yàn)證配置(必做)

      1. 單個(gè)發(fā)件人驗(yàn)證(測試環(huán)境)

      2. 進(jìn)入 SendGrid 控制臺 Settings > Sender Authentication

      3. 選擇 Single Sender Verification

      4. 填寫郵箱信息并提交,點(diǎn)擊驗(yàn)證郵件中的鏈接完成驗(yàn)證

      5. 域名驗(yàn)證(生產(chǎn)環(huán)境推薦)

      6. 進(jìn)入 Sender Authentication > Domain Authentication

      7. 輸入域名并選擇解析類型(推薦 CNAME)

      8. 在域名解析商處添加指定的 TXT、CNAME 記錄

      9. 等待 SendGrid 自動驗(yàn)證(通常 10-30 分鐘)

      五、高級功能:使用 SendGrid API

      1. 創(chuàng)建 SendGrid 服務(wù)類

      php

      namespace App\Services;
      
      use SendGrid;
      use SendGrid\Mail\Mail;
      
      class SendGridService
      {
          public function sendWithTemplate($to, $templateId, $data)
          {
              $email = new Mail();
              $email->setFrom(env('MAIL_FROM_ADDRESS'), env('MAIL_FROM_NAME'));
              $email->addTo($to);
              $email->setTemplateId($templateId);
              $email->addDynamicTemplateDatas($data);
              
              $sendgrid = new SendGrid(env('MAIL_PASSWORD'));
              return $sendgrid->send($email);
          }
      }
      
      1. 使用服務(wù)類發(fā)送模板郵件

      php

      $service = new \App\Services\SendGridService();
      $service->sendWithTemplate(
          'user@example.com',
          'd-xxxxxxxxxxxxxxx',  // 模板ID
          ['username' => 'testuser']  // 模板變量
      );
      

      六、狀態(tài)追蹤與 Webhook 配置

      1. 主動查詢發(fā)送狀態(tài)

      php

      public function getEmailStatus($messageId)
      {
          $sendgrid = new SendGrid(env('MAIL_PASSWORD'));
          $response = $sendgrid->client->messages($messageId)->get();
          return json_decode($response->body());
      }
      
      1. 配置 Webhook 接收實(shí)時(shí)通知

      2. 在 SendGrid 控制臺配置 Webhook 地址:https://your-domain.com/sendgrid/webhook

      3. 創(chuàng)建接收控制器:

      php

      namespace App\Http\Controllers;
      
      use Illuminate\Http\Request;
      
      class SendGridWebhookController extends Controller
      {
          public function handle(Request $request)
          {
              $events = $request->json()->all();
              foreach ($events as $event) {
                  // 處理事件:打開、點(diǎn)擊、退信等
                  \Log::info('SendGrid event', $event);
              }
              return response('OK', 200);
          }
      }
      

      七、注意事項(xiàng)與最佳實(shí)踐

      • 生產(chǎn)環(huán)境建議使用隊(duì)列處理郵件發(fā)送:Mail::to(...)->queue(...)
      • 定期清理無效郵箱,避免影響發(fā)送信譽(yù)
      • 監(jiān)控 SendGrid 控制臺的送達(dá)率和退信率
      • 遵循郵件發(fā)送頻率限制,避免觸發(fā)反垃圾機(jī)制
      posted @ 2025-07-25 14:11  pine007  閱讀(43)  評論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 精品国产熟女一区二区三区| 欧美日韩一线| 久久这里只有精品好国产| 国产亚洲av手机在线观看| 国产精品自在拍首页视频8| 久久久精品94久久精品| 中文字幕波多野不卡一区| 最新亚洲av日韩av二区| 久久婷婷五月综合色和啪| 日韩精品中文字幕人妻| 奇米影视7777狠狠狠狠色| 国产熟女激情一区二区三区| 国产精品中文字幕日韩| 影音先锋亚洲成aⅴ人在| 国产又爽又黄又无遮挡的激情视频| 亚洲av永久无码精品漫画| 性一交一黄一片| 亚洲香蕉免费有线视频| 亚洲精品成人福利网站| 青州市| 日韩一区二区三区理伦片| 亚洲熟女片嫩草影院| 中文人妻av高清一区二区| japanese边做边乳喷| 亚洲色拍拍噜噜噜最新网站| 熟女少妇精品一区二区 | 精品久久久bbbb人妻| 国产精品视频第一第二区| 欧美18videosex性欧美tube1080 | 无码专区视频精品老司机| 亚洲另类激情专区小说图片| 仪征市| 成人国产亚洲精品天堂av| 97人妻中文字幕总站| 久热re这里精品视频在线6| 亚洲鸥美日韩精品久久| 日韩大片高清播放器| 国日韩精品一区二区三区| 国产成人精品视频不卡| 精品少妇av蜜臀av| 国产激情av一区二区三区|