Forwarding a message with IMAP storage was storing the message in the sender's box instead of the forwarded mailbox.

(closes issue #10138, reported and patched by jaroth)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@74476 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.4
Mark Michelson 18 years ago
parent 05923bb562
commit 4ab675ca50

@ -3949,6 +3949,7 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st
char *temp;
char todir[256];
int todircount=0;
struct vm_state *dstvms;
#endif
char username[70]="";
int res = 0, cmd = 0;
@ -4139,7 +4140,19 @@ static int forward_message(struct ast_channel *chan, char *context, struct vm_st
/* should not assume "fmt" here! */
save_body(body,vms,"2",fmt);
STORE(todir, vmtmp->mailbox, vmtmp->context, vms->curmsg, chan, vmtmp, fmt, duration, vms);
/* get destination mailbox */
dstvms = get_vm_state_by_mailbox(vmtmp->mailbox,0);
if (dstvms) {
init_mailstream(dstvms, 0);
if (!dstvms->mailstream) {
ast_log (LOG_ERROR,"IMAP mailstream for %s is NULL\n",vmtmp->mailbox);
} else {
STORE(todir, vmtmp->mailbox, vmtmp->context, dstvms->curmsg, chan, vmtmp, fmt, duration, dstvms);
run_externnotify(vmtmp->context, vmtmp->mailbox);
}
} else {
ast_log (LOG_ERROR,"Could not find state information for mailbox %s\n",vmtmp->mailbox);
}
char *myserveremail = serveremail;
if (!ast_strlen_zero(vmtmp->serveremail))

Loading…
Cancel
Save