sqginfo/sped-mail

SPED 相关电子邮件生成和发送的 API

v0.1.3 2017-04-18 20:38 UTC

This package is auto-updated.

Last update: 2024-09-11 00:29:37 UTC


README

发送电子邮件是 SPED 服务操作人员的基本需求之一。

根据法律规定,必须向各自的收件人发送包含 NFe 和 CTe XML 的电子邮件。

一些收件人错误地要求还必须将与辅助文件(DANFE、DACTE 或 DACCE)相关的 PDF 作为附件发送到该电子邮件。

其他人要求将电子邮件发送到多个邮箱。

这部分 API 可提供这种便利,如果需要的话。

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

如何安装

使用 composer 通过命令行添加此包

composer require nfephp-org/sped-mail

或将它添加到您的 composer.json 中

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

如何使用

该类可以用两种不同的方式使用。

1 - 使用静态方法

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

其中 : $config 是包含 SMTP 配置的 stdClass(必需)

$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 是要发送的 XML 的路径或内容(必需)

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

或者

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

同样适用于 $pdf(可选)

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

或者

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

$address 是包含您希望发送消息的电子邮件地址的数组。这些电子邮件地址将被验证,无效的地址将被丢弃。如果没有提供地址列表,系统将查找 XML 中的地址并使用它们,如果存在的话。 (可选)

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

使用的模板可以由参数 $template(可选)替换。请参考标准模板来创建自己的,请查看 Base.php 类。

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

有关更多详细信息,请参阅 examples 文件夹中的示例。

注意:如果失败,将返回一个 EXCEPTION

如何向多个收件人发送邮件

我们可以通过两种基本方式向多个收件人发送电子邮件:

1 - 在文档的 XML 本身中指定所有收件人

在这种情况下,我们可以使用 <obsCont> 标签,xml 中可能存在数十个此类字段,这无疑是指出多个收件人的最智能方式,因为可以直接从 xml 中读取。

请注意,字段类型 xCampo="email" 变为必需,以便我们可以识别该字段表示电子邮件。

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

2 - 在此类中通过数组传递额外的地址

如上所述,在变量 $addresses = [...] 中已指明。

文档