pepipost/pepipost-lib

通过 pepipost api 从 Laravel 发送邮件的便捷方式

dev-main 2022-08-16 09:52 UTC

This package is auto-updated.

Last update: 2024-09-16 14:32:43 UTC


README

pepipostlogo

Packagist Packagist Open Source Helpers Twitter Follow

Laravel SDK 接口,用于 Pepipost

此包将 Pepipost SDK 映射到 Laravel 应用程序

使用此包需要您的 Pepipost Api Key。请在此处填写:这里

我们试图使我们的库由社区驱动 - 这意味着我们需要您的帮助来正确地构建正确的事情,我们请求您通过分享评论、创建新的 问题拉取请求 来帮助我们。

我们欢迎对这个库的任何形式的贡献。

此库的最新 1.0.0 版本完全兼容最新的 Pepipost v5.1 API。

有关此库的任何更新,请查看 发行说明

目录

安装

先决条件

PHP >= 7.x

Composer v2.3.10

Laravel >= 8.x

在 Pepipost 上有一个免费账户。如果您没有,请点击此处注册。

用法

配置 Laravel 项目

步骤 1 - 创建新的 Laravel 项目

$ composer create-project laravel/laravel example-app

步骤 2 - 使用 composer 安装

$ composer require pepipost/pepipost-lib

步骤 3 - 配置

  1. 将 API 密钥添加到 .env 文件

    PEPIPOST_API_KEY='<API_TOKEN_KEY>'
    
  2. 将配置文件导出到 Laravel 应用程序

    $ php artisan vendor:publish --provider="Pepipost\PepipostLib\PepipostServiceProvider" --tag="config"

步骤 4 - Laravel 步骤创建控制器和路由

  1. 创建控制器

    php artisan make:controller sendMail
  2. 更新控制器以包含电子邮件结构

        <?php
        namespace App\Http\Controllers;
        use Illuminate\Http\Request;
        use Pepipost\PepipostLib\Models;
        use Pepipost\PepipostLib\PepipostLib as Mailer;
        
        class Mailsend extends Controller
        {
            public static function send(Request $request){
        
                $body = new Models\Send;
                $body->from = new Models\From;
        
                $body->from->email = 'John@domain.com';
                $body->from->name = 'John';
                $body->subject = 'Pepipost Test Mail from laravel';
        
                $body->content = array();
                $body->content[0] = new Models\Content;
                $body->content[0]->type = Models\TypeEnum::HTML;
                $body->content[0]->value = '<html><body>Hello, Welcome to Pepipost Family àèìòù.<br>My name is [% name %].<br>my love is sending [% love %]</body> <br></html>';
    
                $body->attachments[0] = new Models\Attachments;
                $body->attachments[0]->attach(storage_path('Discussions.pdf'));
                #optional
                $body->attachments[0]->name = 'discussionwithteam.pdf';
        
                $body->personalizations = array();
                $body->personalizations[0] = new Models\Personalizations;
                $body->personalizations[0]->attributes = ["name" => "Pepi", "love" => "email"];
                $body->personalizations[0]->tokenTo = '<identity-string>';
        
                $body->personalizations[0]->to = array();
                $body->personalizations[0]->to[0] = new Models\EmailStruct;
                $body->personalizations[0]->to[0]->name = 'Doe';
                $body->personalizations[0]->to[0]->email = 'doe@domain.com';
        
                $body->personalizations[0]->cc = array();
                $body->personalizations[0]->cc[0] = new Models\EmailStruct;
                $body->personalizations[0]->cc[0]->name = 'elina';
                $body->personalizations[0]->cc[0]->email = 'elina@domain.com';
        
                $mailer = new Mailer();
                try {
                  var_dump($mailer->sendMail($body));
                } catch (Pepipost\PepipostLib\APIException $e) {
                  return $e->getMessage;
                }
            }
        }
  3. 在 routes/web.php 中创建路由

    Route::get('/sendmail', function () {
      return App::call('App\Http\Controllers\Mailsend@send');
    });

步骤 5 - 测试

托管您的 Laravel 项目并在浏览器中输入 URL - http://your_url.com/sendmail

这将发送电子邮件并在浏览器上显示“电子邮件发送成功”。

其他用法

有关更高级的用法,您可以查看 高级用法文档 以获取更复杂场景的帮助。

公告

v1.0.0 已发布!请参阅 发行说明 以获取详细信息。

此库的所有更新都记录在我们的 发行说明 中。如有任何疑问,请随时通过 dx@pepipost.com 联系我们。

路线图

如果您对这个项目的未来方向感兴趣,请查看我们的公开 问题拉取请求。我们非常乐意听取您的反馈。

关于

pepipost-laravel 库由 Pepipost 开发者体验团队 指导和支持。这个 pepipost 库由 Pepipost Ltd. 维护和资助。pepipost 珠宝的名称和标志是 Pepipost Ltd. 的商标。

许可证

MIT