Coder Social home page Coder Social logo

sped-mail's Introduction

sped-mail

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 = '[email protected]';
$config->mail->password = 'senha';
$config->mail->secure = 'tls';
$config->mail->port = 587;
$config->mail->from = '[email protected]';
$config->mail->fantasy = 'Test Ltda';
$config->mail->replyTo = '[email protected]';
$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 = ['[email protected]'];

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>[email protected]</xTexto>
 </obsCont>

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

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

sped-mail's People

Contributors

gitter-badger avatar guicalabria avatar robmachado avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.