[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: mailsnarf in different files



Hi all!

To divide the log of mailsnarf in diferent files, i had to modify the
source of mailsnarf.

But it's very easy!

It's old code:

static void
print_mbox_msg(char *from, char *msg)
{
      char *p;
      time_t t;

      t = time(NULL);

      if (from == NULL)
              from = "mailsnarf";

      printf("From %s %s", from, ctime(&t));

      while ((p = strsep(&msg, "\n")) != NULL) {
              if (strncmp(p, "From ", 5) == 0)
                      putchar('>');
              for (; *p != '\r' && *p != '\0'; p++)
                      putchar(*p);
              putchar('\n');
      }
      putchar('\n');
      fflush(stdout);
}

And it's new code:

static void
print_mbox_msg(char *from, char *msg)
{
      char *p;
      time_t t;

      FILE *fl; //ponteiro para o arquivo

      char *dir = "/home/edmafer/Maildir/new/";

      char path[30];

      t = time(NULL); //Pegando a data e hora de agora

      sprintf(path,"%s%d.%s",dir,cont++,"eml");

      fl = fopen(path,"w");

      if (!fl) {
              printf("\n<!>Erro ao tentar criar arquivo<!>\n");
//message the error on open the file.
              return;
      }

      if (from == NULL) //Definindo o from
              from = "mailsnarf";

      fprintf(fl,"From %s %s", from, ctime(&t));

      while ((p = strsep(&msg, "\n")) != NULL) {
              if (strncmp(p, "From ", 5) == 0)
                      putc('>',fl);
              for (; *p != '\r' && *p != '\0'; p++)
                      putc(*p,fl);
              putc('\n',fl);
      }

      putc('\n',fl);
      fflush(stdout);

      fclose(fl); //Fechando o arquivo
}

I redirect the messages in files. There are one variable named cont.
This variable is an integer that return an number of files.

On 4/10/06, Edson Marco Ferrari Junior <edmafer@gmail.com> wrote:
Hi!

I'm trying implements a more control on pop and smtp.

With mailsnarf i get all e-mails, but i just save in one file, or
print in screen.

How i could to make to save each e-mail in different file? Or what
other form to make it?

Tank's

--
/*
 * Edson Marco Ferrari Junior
 * edmafer@gmail.com
 * http://www.itasoa.com.br (no dia que funcionar eu aviso)
 */



--
/*
* Edson Marco Ferrari Junior
* edmafer@gmail.com
* http://www.itasoa.com.br (no dia que funcionar eu aviso)
*/



Reply to: