sqginfo/sped-mail

API para geração e envio dos emails relacionados com o SPED.

v0.1.5 2024-11-05 11:52 UTC

This package is auto-updated.

Last update: 2024-11-05 14:47:24 UTC


README

O envio de emails é parte integrante das necessidades de quem opera com os serviços SPED.

De acordo com a legislação é obrigatório o envio de emails contendo os xml das NFe e dos CTe aos seus repectivos destinatários.

Alguns destinatários, erroneamente, pedem também que seja enviado o PDF relativo ao Documento Auxiliar (DANFE, DACTE ou DACCE) em anexo a esse email.

Outros requerem que os emails seja enviados a várias caixas postais.

Esta parte da API se destina a prover essa facilidade, caso se deseje.

Join the chat at https://gitter.im/nfephp-org/sped-mail

Build Status Coverage Status Quality Score Latest Stable Version Latest Version on Packagist License Total Downloads

Issues Forks Stars

Como instalar :

Adicione este pacote com o composer, por linha de comando:

composer require nfephp-org/sped-mail

Ou adicione ao seu composer.json:

{
    "require": {
    	"nfephp-org/sped-mail": "^0.1"
    }
}

Como usar :

Essa classe pode ser usada de duas formas distintas.

1 - Usando o método estatico:

$resp = Mail::sendMail($config, $xml, $pdf, $addresses, $template);

Onde : $config é um stdClass contendo as configuração de seu SMTP (OBRIGATÓRIO)

$config = new stdClass();
$config->mail->host = 'smtp.test.com.br';
$config->mail->user = 'usuario@test.com.br';
$config->mail->password = 'senha';
$config->mail->secure = 'tls';
$config->mail->port = 587;
$config->mail->from = 'usuario@test.com.br';
$config->mail->fantasy = 'Test Ltda';
$config->mail->replyTo = 'vendas@test.com.br';
$config->mail->replyName = 'Vendas';

$xml é o path ou o conteudo do xml que se deseja enviar (OBRIGATÓRIO)

$xml = '../nfe.xml';

ou ainda

$xml = file_get_contents('../nfe.xml');

Idem para o $pdf (OPCIONAL)

$pdf = '../nfe.pdf';

ou ainda

$pdf = file_get_contents('../nfe.pdf');

$address é um array contendo os endereços de email para quem você deseja enviar a mensagem. Essas listas de email serão verificadas e os endereços que não forem validos serão descartados. Se não for passada uma lista de endereços o sistema irá procurar no XML pelos endereços e esses serão usados, se existirem. (OPCIONAL)

$addresses = ['fulano@client.com.br'];

O template usado pode ser substituido pelo de sua escolha, usando o parametro $template (OPCIONAL). Use como referencia os templates padrões para criar o seu veja isso na classe Base.php

$template = '<p>Meu HTML {emitente} .... ';

Para maiores detalhes veja os exemplos indicados na pasta examples.

NOTA: Em caso de falha será retornado um EXCEPTION

Como enviar para vários destinatários

Pordemos enviar os emails para vários destinatários basicamente de duas maneiras diferentes:

1 - Indicando todos os destinatários no próprio XML do documento

Neste caso podemos fazer uso da tag <obsCont> podem existir dezenas desses campos no xml, essa com certeza é a manira mais inteligente de indicar vários destinários, pois podem ser lidos diretamente do xml.

Veja que o tipo do campo xCampo="email" passa a ser obrigatório para que possamos identificar que este campo indica um email.

 <obsCont xCampo="email">
     <xTexto>fulano@yahoo.com.br</xTexto>
 </obsCont>

2 - Passando os endereços adicionais em um array nesta classe

Essa forma já foi indicada acima na variável $addresses = [ ... ];

Documentação