#!/usr/bin/php4
<?php // vim: set binary noeol et sw=4 sts=4:
+// Incluyo directorio del ejecutable como posible directorio de bibliotecas
+set_include_path(get_include_path().':'.dirname($argv[0]));
+
require_once 'T/general.php';
define('R_ERR', 0);
$gconf = $CONF['general'];
$mailbox = @$mconf['mailbox'];
-switch (@$mconf['protocol'] ? $mconf['protocol'] : 'mbox') {
+switch (@$mconf['protocol']) {
case 'mbox':
$mailbox = $mconf['server'];
break;
// Reseteo intervalo
$intervalo = $gconf['intervalo'];
// Abro mailbox o chillo.
- if (!($mbox = imap_open($mailbox, @$mconf['user'], @$mconf['pass']))) {
+ if (!($mbox = @imap_open($mailbox, @$mconf['user'], @$mconf['pass']))) {
if ($mbox_errcount * $intervalo > 120) { // 2 horas sin poder conectarse
logs('Hace 2 horas que no se puede conectar al servidor ('.imap_last_error().')', ERROR);
$mbox_errcount = 0;
function enviar_respuesta($tipo, $to, $mensaje = '', $intento = null) {
global $mconf;
- $subject = '[' . strtoupper($NAME) . '] Entrega ';
+ $subject = '[' . $mconf['prefijo'] . '] Entrega ';
if ($tipo == R_OK) $estado = 'ACEPTADA';
else $estado = 'RECHAZADA';
$subject .= $estado;
$headers = <<<EOT
From: {$mconf['from']}
Reply-To: {$mconf['admin']}
+Return-Path: {$mconf['admin']}
X-Mailer: $NAME $VERSION
X-Priority: 5
EOT;
function preparar_entrega($intento, $mbox, $msgid, $dir) {
logs('Acá debería verificar el cuerpo del mensaje', DEBUG);
+ $path = "$dir/" . $intento->path('intentos');
$mail = imap_fetchstructure($mbox, $msgid);
+ if (!mkdir_p($path)) return 'No se pudo crear el directorio';
foreach ($mail->parts as $id => $part) {
$fname = part_filename($part);
if ($fname) {
logs("Escribiendo archivo '$fname' [enc={$part->encoding}]", DEBUG);
$body = imap_fetchbody($mbox, $msgid, $id + 1);
- $path = "$dir/" . $intento->path('intentos');
- if (!mkdir_p($path)) return 'No se pudo crear el directorio';
if (!file_put_contents("$path/$fname", decode_body($body, $part->encoding))) return "Error al guardar el archivo $fname";
}
//if (part_is_source($part) $has_sources = true;