void mm_gen(void) { struct mailq_t *mq; int queue_total, i, j; char domain[128], *p; char out_mail[256]; for (mq=massmail_queue, queue_total=0; mq; mq=mq->next, queue_total++); if (queue_total == 0) return; i = xrand32() % queue_total; for (j=0,mq=massmail_queue; (j < i) && mq; mq=mq->next, j++); if (mq == NULL) return; for (p=mq->to; *p && *p != '@'; p++); if (*p != '@') return; lstrcpyn(domain, p+1, MAX_DOMAIN-1); i = xrand16() % gen_names_cnt; lstrcpy(out_mail, gen_names[i]); lstrcat(out_mail, "@"); lstrcat(out_mail, domain); massmail_addq(out_mail, 1); }
static void scan_out(const char *email) { massmail_addq(email, 0); return; }