sqginfo / sped-mail
SPED 相关电子邮件生成和发送的 API
Requires
- php: ~5.6|~7.0
- phpmailer/phpmailer: ^5.2
- soundasleep/html2text: ~0.3
Requires (Dev)
- phpunit/phpunit: ^5.5
- scrutinizer/ocular: ^1.3
- squizlabs/php_codesniffer: ^2.6
This package is auto-updated.
Last update: 2024-09-11 00:29:37 UTC
README
发送电子邮件是 SPED 服务操作人员的基本需求之一。
根据法律规定,必须向各自的收件人发送包含 NFe 和 CTe XML 的电子邮件。
一些收件人错误地要求还必须将与辅助文件(DANFE、DACTE 或 DACCE)相关的 PDF 作为附件发送到该电子邮件。
其他人要求将电子邮件发送到多个邮箱。
这部分 API 可提供这种便利,如果需要的话。
如何安装
使用 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 = [...] 中已指明。