承接 atima/php-email-lib 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

atima/php-email-lib

Composer 安装命令:

composer require atima/php-email-lib

包简介

Cliente PHP puro para envio de e-mails via API HTTP customizada (sem dependências de framework)

README 文档

README

Cliente PHP puro para envio de e-mails via API HTTP customizada. Sem dependências de framework — funciona em qualquer projeto PHP 8.1+.

Instalação

composer require atima/php-email-lib

Requer as extensões PHP ext-curl e ext-json.

Configuração

Via array (recomendado para uso direto)

use Atima\PhpEmailLib\AtiMailer;

$mailer = new AtiMailer([
    'key'      => 'sua_api_key',
    'endpoint' => 'https://api.seuservico.com',
    'staging'  => true,
    'ssl_cert' => true,    // true, false, ou caminho para .pem
    'timeout'  => 30,
]);

Via variáveis de ambiente

Copie .env.example e preencha as variáveis, então:

$mailer = AtiMailer::fromEnv();

Variáveis suportadas:

Variável Padrão Descrição
ATI_EMAIL_KEY Chave de autenticação (obrigatória)
ATI_EMAIL_ENDPOINT URL base da API (obrigatória)
ATI_STAGING true Modo staging (true/false)
ATI_SSL_CERT true SSL: true, false ou caminho para .pem
ATI_EMAIL_TIMEOUT 30 Timeout em segundos

Uso

E-mail simples

use Atima\PhpEmailLib\AtiMessage;

$mailer->send(
    AtiMessage::create()
        ->to('destinatario@exemplo.com')
        ->subject('Olá!')
        ->html('<p>Olá, mundo!</p>')
);

Múltiplos destinatários e campos opcionais

$mailer->send(
    AtiMessage::create()
        ->to(['user1@exemplo.com', 'user2@exemplo.com'])
        ->cc('copia@exemplo.com')
        ->bcc('oculto@exemplo.com')
        ->from('remetente@exemplo.com', 'Meu Sistema')
        ->replyTo('respostas@exemplo.com')
        ->subject('Relatório diário')
        ->html('<h1>Relatório</h1><p>Segue em anexo.</p>')
        ->text('Relatório — veja o arquivo em anexo.')
);

Com anexo de arquivo

$mailer->send(
    AtiMessage::create()
        ->to('cliente@exemplo.com')
        ->subject('Nota fiscal')
        ->html('<p>Segue a nota fiscal em anexo.</p>')
        ->attach('/var/www/storage/nf-1234.pdf')
);

Com anexo gerado em memória

$csvData = "nome,email\nJoão,joao@exemplo.com";

$mailer->send(
    AtiMessage::create()
        ->to('analista@exemplo.com')
        ->subject('Exportação')
        ->html('<p>Exportação em anexo.</p>')
        ->attachData($csvData, 'usuarios.csv', 'text/csv')
);

Tratamento de erros

use Atima\PhpEmailLib\Exception\AtiMailException;

try {
    $mailer->send($message);
} catch (AtiMailException $e) {
    echo $e->getMessage();      // mensagem de erro
    echo $e->getHttpStatus();   // código HTTP (ex: 401, 500)
    echo $e->getResponseBody(); // corpo da resposta da API
} catch (\InvalidArgumentException $e) {
    echo 'Dados inválidos: ' . $e->getMessage();
}

Estrutura

src/
├── AtiMailer.php         # Cliente principal (configuração + envio via cURL)
├── AtiMessage.php        # Builder fluente para compor e-mails
├── AtiAttachment.php     # Helper para anexos (arquivo ou dados em memória)
└── Exception/
    └── AtiMailException.php  # Exceção com httpStatus e responseBody

统计信息

  • 总下载量: 1
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 5
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-03-24

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固