adrashyawarrior/laravel-multi-mailer

此包允许基于优先级集成多个邮件提供商。

v1.0.0 2023-02-11 12:18 UTC

README

AdrashyaWarrior Laravel Multi-Mailer 是一个基于 mailgun、sendinblue 和 sendgrid 邮件提供商的包。

步骤(1):安装

进入您项目的根目录并运行

composer require adrashyawarrior/laravel-multi-mailer

步骤(2):更新 .env

添加以下环境变量

# priority
MAILERS=sendgrid,mailgun,sendinblue
# Mailgun
MAILGUN_API_KEY=''
MAILGUN_HOSTNAME=''
MAILGUN_DOMAIN=''
# Sendinblue
SENDINBLUE_API_KEY=''
# Sendgrid
SENDGRID_API_KEY=''

步骤(3):使用

在您的控制器内部

<?php

namespace App\Http\Controllers;

use Adrashyawarrior\LaravelMultiMailer\LaravelMultiMailer;
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\Log;

class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    public function sendmail()
    {
        try {
            $mailer = new LaravelMultiMailer();
            $mailer->from('shiva@gmail.com', 'Shaiva Sh');
            $mailer->to(['krishna@gmail.com']);
            $mailer->cc(['radha@gmail.com']);
            $mailer->bcc(['sudama@gmail.com']);
            $mailer->subject('Testing New Package');
            $mailer->html('<!DOCTYPE html>
            <html lang="en">
            <head>
                <meta charset="UTF-8">
                <meta http-equiv="X-UA-Compatible" content="IE=edge">
                <meta name="viewport" content="width=device-width, initial-scale=1.0">
                <title>Document</title>
            </head>
            <body>
                <h1>This is a testing mail.</h1>
            </body>
            </html>');
            $response = $mailer->send();
            return response()->json($response);
        } catch (\Exception $e) {
            Log::info($e->getMessage());
            return response('Error');
        }
    }
}

恭喜!完成。

您现在可以发送邮件了。

贡献

欢迎拉取请求。对于重大更改,请先提出一个问题来讨论您想进行哪些更改。

许可

MIT