mirror of
https://bitbucket.org/jsuto/piler.git
synced 2024-12-25 07:10:12 +01:00
extra recipient for piler
This commit is contained in:
parent
f6a39fcd1d
commit
ea5513105a
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
#define VERSION "0.1.25-rc2"
|
#define VERSION "0.1.25-rc2"
|
||||||
|
|
||||||
#define BUILD 873
|
#define BUILD 874
|
||||||
|
|
||||||
#define HOSTID "mailarchiver"
|
#define HOSTID "mailarchiver"
|
||||||
|
|
||||||
|
@ -260,6 +260,7 @@ struct memcached_server {
|
|||||||
|
|
||||||
|
|
||||||
struct import {
|
struct import {
|
||||||
|
char *extra_recipient;
|
||||||
int status;
|
int status;
|
||||||
int total_messages;
|
int total_messages;
|
||||||
int processed_messages;
|
int processed_messages;
|
||||||
|
10
src/parser.c
10
src/parser.c
@ -32,6 +32,16 @@ struct _state parse_message(struct session_data *sdata, int take_into_pieces, st
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if(sdata->import == 1 && data->import->extra_recipient){
|
||||||
|
len = strlen(data->import->extra_recipient);
|
||||||
|
memcpy(&(state.b_to[state.tolen]), data->import->extra_recipient, len);
|
||||||
|
state.tolen += len;
|
||||||
|
memcpy(&(state.b_to[state.tolen]), " ", 1);
|
||||||
|
state.tolen++;
|
||||||
|
strtolower(state.b_to);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
if(sdata->num_of_rcpt_to > 0){
|
if(sdata->num_of_rcpt_to > 0){
|
||||||
for(i=0; i<sdata->num_of_rcpt_to; i++){
|
for(i=0; i<sdata->num_of_rcpt_to; i++){
|
||||||
extractEmail(sdata->rcptto[i], puf);
|
extractEmail(sdata->rcptto[i], puf);
|
||||||
|
@ -486,6 +486,7 @@ int main(int argc, char **argv){
|
|||||||
|
|
||||||
import.import_job_id = import.total_messages = import.processed_messages = 0;
|
import.import_job_id = import.total_messages = import.processed_messages = 0;
|
||||||
import.started = import.updated = import.finished = import.remove_after_import = 0;
|
import.started = import.updated = import.finished = import.remove_after_import = 0;
|
||||||
|
import.extra_recipient = NULL;
|
||||||
|
|
||||||
data.import = &import;
|
data.import = &import;
|
||||||
|
|
||||||
@ -511,20 +512,21 @@ int main(int argc, char **argv){
|
|||||||
{"skiplist", required_argument, 0, 'x' },
|
{"skiplist", required_argument, 0, 'x' },
|
||||||
{"folder", required_argument, 0, 'F' },
|
{"folder", required_argument, 0, 'F' },
|
||||||
{"folder_imap", required_argument, 0, 'f' },
|
{"folder_imap", required_argument, 0, 'f' },
|
||||||
{"quiet", required_argument, 0, 'q' },
|
{"add-recipient",required_argument, 0, 'a' },
|
||||||
|
{"quiet", no_argument, 0, 'q' },
|
||||||
{"recursive", required_argument, 0, 'R' },
|
{"recursive", required_argument, 0, 'R' },
|
||||||
{"remove-after-import", required_argument, 0, 'r' },
|
{"remove-after-import",no_argument, 0, 'r' },
|
||||||
{"gui-import", required_argument, 0, 'G' },
|
{"gui-import", no_argument, 0, 'G' },
|
||||||
{"dry-run", required_argument, 0, 'D' },
|
{"dry-run", no_argument, 0, 'D' },
|
||||||
{"help", no_argument, 0, 'h' },
|
{"help", no_argument, 0, 'h' },
|
||||||
{0,0,0,0}
|
{0,0,0,0}
|
||||||
};
|
};
|
||||||
|
|
||||||
int option_index = 0;
|
int option_index = 0;
|
||||||
|
|
||||||
c = getopt_long(argc, argv, "c:m:M:e:d:i:K:u:p:P:x:F:f:GDRrqh?", long_options, &option_index);
|
c = getopt_long(argc, argv, "c:m:M:e:d:i:K:u:p:P:x:F:f:a:GDRrqh?", long_options, &option_index);
|
||||||
#else
|
#else
|
||||||
c = getopt(argc, argv, "c:m:M:e:d:i:K:u:p:P:x:F:f:GDRrqh?");
|
c = getopt(argc, argv, "c:m:M:e:d:i:K:u:p:P:x:F:f:a:GDRrqh?");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if(c == -1) break;
|
if(c == -1) break;
|
||||||
@ -597,6 +599,10 @@ int main(int argc, char **argv){
|
|||||||
data.import->remove_after_import = 1;
|
data.import->remove_after_import = 1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case 'a' :
|
||||||
|
data.import->extra_recipient = optarg;
|
||||||
|
break;
|
||||||
|
|
||||||
case 'G' :
|
case 'G' :
|
||||||
import_from_gui = 1;
|
import_from_gui = 1;
|
||||||
break;
|
break;
|
||||||
|
@ -22,12 +22,13 @@ int main(int argc, char **argv){
|
|||||||
struct _state state;
|
struct _state state;
|
||||||
struct __config cfg;
|
struct __config cfg;
|
||||||
struct __data data;
|
struct __data data;
|
||||||
|
struct import import;
|
||||||
char *rule;
|
char *rule;
|
||||||
|
|
||||||
srand(getpid());
|
srand(getpid());
|
||||||
|
|
||||||
if(argc < 2){
|
if(argc < 2){
|
||||||
fprintf(stderr, "usage: %s <message>\n", argv[0]);
|
fprintf(stderr, "usage: %s <message> [<extra recipient>]\n", argv[0]);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -47,6 +48,12 @@ int main(int argc, char **argv){
|
|||||||
|
|
||||||
printf("build: %d\n", get_build());
|
printf("build: %d\n", get_build());
|
||||||
|
|
||||||
|
import.extra_recipient = NULL;
|
||||||
|
|
||||||
|
if(argc > 2) import.extra_recipient = argv[2];
|
||||||
|
|
||||||
|
data.import = &import;
|
||||||
|
|
||||||
data.folder = 0;
|
data.folder = 0;
|
||||||
data.recursive_folder_names = 0;
|
data.recursive_folder_names = 0;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user