本文整理汇总了PHP中mail::info_mail_envios方法的典型用法代码示例。如果您正苦于以下问题:PHP mail::info_mail_envios方法的具体用法?PHP mail::info_mail_envios怎么用?PHP mail::info_mail_envios使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mail
的用法示例。
在下文中一共展示了mail::info_mail_envios方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: mail
function inicio_motor_correo()
{
$dir_extraidos = "/volume1/web/correoCFDI/extraidos/";
$dir_invalidos = "/volume1/web/correoCFDI/invalidos/";
/* CFDI invalidos o existentes */
$mail = new mail();
/* Listado de correos registrados */
$lista_correo = $mail->get_lista_correo();
if (count($lista_correo) == 0) {
return;
}
/* Información del correo dedicado a envios */
$correo_envios = $mail->info_mail_envios(0);
/* El parámetro no se ocupa por el momento */
foreach ($lista_correo as $correo) {
printf("\n\n Iniciando extracción en " . $correo['correo'] . "\n\n");
$mail->obtener_adjuntos($correo['host_imap'], $correo['puerto'], $correo['correo'], $correo['password'], '/volume1/web/correoCFDI/extraidos/');
}
printf("\nFinalizo extraccion");
/* Después de la extracción se busca en el directorio de extraidos */
$array_archivos = $this->escaneo_dir_extraidos();
printf("\n\n Iniciando validacion \n\n");
foreach ($array_archivos as $valor) {
/* Instancia a clase de Carga de Facturas */
$carga_proveedor = new Carga_factura_proveedor();
/* Lectura del XML */
$read_xml = new Read_factura_cliente();
$carga_proveedor->array_xml = '';
$carga_proveedor->id_detalle = 0;
$carga_proveedor->id_emisor = 0;
$carga_proveedor->id_receptor = 0;
$nombre_xml = $valor['xml'];
$array_read_xml = $read_xml->detalle($dir_extraidos . $valor['correo'] . "/", $valor['xml']);
$carga_proveedor->array_xml = $array_read_xml;
/* Datos de correo de envio (Se ocupa para respuestas de correo con CFDI inválidos) */
$correo_envios = $mail->info_mail_envios(0);
/* Comprobación de parámetros para validación */
if (count($array_read_xml) <= 0 or $array_read_xml == null) {
printf("Formato incorrecto");
$this->notificar_cfdi_invalido($carga_proveedor, $correo_envios, $valor['xml'], $valor['pdf'], $valor['correo'], 'desconocido');
continue;
}
if (strlen($array_read_xml['emisor']['rfc']) == 0 or strlen($array_read_xml['receptor']['rfc']) == 0 or strlen($array_read_xml['timbreFiscalDigital']['UUID']) == 0) {
printf('\\n xml invalido ' . $valor['xml']);
$this->notificar_cfdi_invalido($carga_proveedor, $correo_envios, $valor['xml'], $valor['pdf'], $valor['correo'], 'desconocido');
continue;
}
/* Validación del CFDI */
$validacion_web = new webservice_sat();
$validacion = $validacion_web->valida_cfdi($array_read_xml['emisor']['rfc'], $array_read_xml['receptor']['rfc'], $array_read_xml['encabezado']['total'], $array_read_xml['timbreFiscalDigital']['UUID']);
printf("\n validando.... E rfc=" . $array_read_xml['emisor']['rfc'] . " R rfc=" . $array_read_xml['receptor']['rfc'] . " total=" . $array_read_xml['encabezado']['total'] . " UUID=" . $array_read_xml['timbreFiscalDigital']['UUID']);
if (!count($validacion) > 0) {
/* Se registra en el sistema el archivo como inválido y se notifica al correo emisor. */
printf("\n Fallo en validacion " . $valor['xml'] . "reenviando a " . $valor['correo']);
$this->notificar_cfdi_invalido($carga_proveedor, $correo_envios, $valor['xml'], $valor['pdf'], $valor['correo'], 'invalido');
continue;
}
/* Una vez válidado el CFDI se inserta en la BD */
/* Devuelve el id del emisor si existe sino se aumenta el contador */
$existe = 0;
if (($carga_proveedor->id_emisor = $carga_proveedor->exist_emisor()) == 0) {
$carga_proveedor->id_emisor = $carga_proveedor->Insert_emisor();
} else {
$existe++;
}
/* Devuelve el id del receptor si existe sino se aumenta el contador */
if (($carga_proveedor->id_receptor = $carga_proveedor->exist_receptor()) == 0) {
$carga_proveedor->id_receptor = $carga_proveedor->insert_receptor();
} else {
$existe++;
}
/*Se obtienen los ids emisor y receptor después de la inserción de los mismo
* esto pasa sino existian en caso de que existan la condición se ignora */
if ($carga_proveedor->id_emisor == 0) {
$carga_proveedor->id_emisor = $carga_proveedor->id_emisor();
}
if ($carga_proveedor->id_receptor == 0) {
$carga_proveedor->id_receptor = $carga_proveedor->id_receptor();
}
if (($id_detalle = $carga_proveedor->exist_detalle()) == 0) {
$extension = pathinfo($nombre_xml, PATHINFO_EXTENSION);
$nombre_acuse = basename($nombre_xml, '.' . $extension);
$ruta_cfdi = $carga_proveedor->get_ruta_cfdi();
$validacion->save($ruta_cfdi . $nombre_acuse . "SAT.xml");
$id_validacion = $carga_proveedor->insert_validacion($validacion, $ruta_cfdi . $nombre_acuse . "SAT.xml");
$ruta = $carga_proveedor->move_cfdi($dir_extraidos . $valor['correo'] . "/", $nombre_xml);
$ruta_pdf = NULL;
if (file_exists($dir_extraidos . $valor['correo'] . "/" . $valor['pdf'])) {
$carga_proveedor->move_cfdi($dir_extraidos . $valor['correo'] . "/", $valor['pdf']);
$ruta_pdf = $ruta . $valor['pdf'];
}
$carga_proveedor->id_detalle = $carga_proveedor->Insert_detalle($id_validacion, $ruta . $nombre_xml, $ruta_pdf);
$this->insert_motor_correo(0, $carga_proveedor, $valor['correo'], 'valido', $ruta . $nombre_xml, $ruta_pdf);
} else {
$existe++;
}
if ($existe == 3) {
$ruta_pdf = NULL;
$ruta_xml = NULL;
if (!file_exists($dir_invalidos . $valor['correo'])) {
//.........这里部分代码省略.........