2017 © Pedro Peláez
 

library sped-mail

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

image

nfephp-org/sped-mail

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

  • Friday, July 13, 2018
  • by robmachado
  • Repository
  • 3 Watchers
  • 3 Stars
  • 1,041 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 13 Forks
  • 1 Open issues
  • 5 Versions
  • 46 % Grown

The README.md

sped-mail

O envio de emails é parte integrante das necessidades de quem opera com os serviços SPED., (*1)

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., (*2)

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., (*3)

Outros requerem que os emails seja enviados a várias caixas postais., (*4)

Esta parte da API se destina a prover essa facilidade, caso se deseje., (*5)

Join the chat at https://gitter.im/nfephp-org/sped-mail, (*6)

Actions Status, (*7)

Latest Stable Version ![Latest Version on Packagist][ico-version] ![License][ico-license] Total Downloads, (*8)

![Issues][ico-issues] Forks ![Stars][ico-stars], (*9)

Como instalar :

Adicione este pacote com o composer, por linha de comando:, (*10)

composer require nfephp-org/sped-mail

Ou adicione ao seu composer.json:, (*11)

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

Como usar :

Essa classe pode ser usada de duas formas distintas., (*12)

1 - Usando o método estatico:

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

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


$config = new stdClass(); $config->smtpdebug = 0; //0-no 1-client 2-server 3-connection 4-lowlevel $config->host = 'smtp.example.com.br'; $config->port = 587; //25 ou 465 ou 587 $config->smtpauth = true; $config->user = 'fulano@example.com.br'; $config->password = 'senha'; $config->secure = 'tls'; $config->authtype = ''; //'', CRAM-MD5, PLAIN, LOGIN, XOAUTH2 $config->from = 'fulano@example.com.br'; $config->fantasy = 'Fulanoda Silva'; $config->replyTo = 'ciclano@mail.com'; $config->replyName = 'Ciclano Moreira'; $config->smtpoptions = null; /*[ 'ssl' => [ 'verify_peer' => true, 'verify_depth' => 3, 'allow_self_signed' => true, 'peer_name' => 'smtp.example.com', 'cafile' => '/etc/ssl/ca_cert.pem', ] ];*/ $config->timeout = 130;

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

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

ou ainda, (*15)

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

Idem para o $pdf (OPCIONAL), (*16)

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

ou ainda, (*17)

$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), (*18)

$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, (*19)

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

O pfx é o conteudo do certificado pfx (OPCIONAL), que pode ser lido de um arquivo ou diretamente da sua base de dados., (*20)

$pfx = file_get_contents('path ao certificado pfx');

Password é a senha do certificado pfx para que possa ser usado (OPCIONAL), é claro que se o certificado for passado a senha também severá ser passada., (*21)

$password = 'senha';

O último parametro é uma instácia já existente do PHPMailer., (*22)

$mailer = new PHPMailer();

Para maiores detalhes veja os exemplos indicados na pasta examples., (*23)

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:, (*24)

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., (*25)

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

 <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 = [ ... ];, (*27)

Documentação

The Versions

13/07 2018

dev-master

9999999-dev https://github.com/nfephp-org/sped-mail

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

  Sources   Download

MIT LGPL-3.0+ GPL-3.0+

The Requires

 

The Development Requires

nfephp nfse sped

18/04 2017

v0.1.3

0.1.3.0 https://github.com/nfephp-org/sped-mail

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

  Sources   Download

MIT LGPL-3.0+ GPL-3.0+

The Requires

 

The Development Requires

nfephp nfse sped

15/04 2017

v0.1.2

0.1.2.0 https://github.com/nfephp-org/sped-mail

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

  Sources   Download

MIT LGPL-3.0+ GPL-3.0+

The Requires

 

The Development Requires

nfephp nfse sped

21/11 2016

v0.1.1

0.1.1.0 https://github.com/nfephp-org/sped-mail

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

  Sources   Download

MIT LGPL-3.0+ GPL-3.0+

The Requires

 

The Development Requires

nfephp nfse sped

12/10 2016

v0.1.0

0.1.0.0 https://github.com/nfephp-org/sped-mail

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

  Sources   Download

MIT LGPL-3.0+ GPL-3.0+

The Requires

 

The Development Requires

nfephp nfse sped