]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-2972
authorBrian West <brian@freeswitch.org>
Mon, 10 Jan 2011 15:55:56 +0000 (09:55 -0600)
committerBrian West <brian@freeswitch.org>
Mon, 10 Jan 2011 15:56:03 +0000 (09:56 -0600)
src/mod/applications/mod_voicemail/mod_voicemail.c

index 69dd217ca2a7b274f4aadacf17275804ef9c2494..851ec77c617c42f493ceae54b0ef48e593b0722f 100644 (file)
@@ -2337,6 +2337,7 @@ static switch_status_t deliver_vm(vm_profile_t *profile,
        const char *filename;
        switch_xml_t x_param, x_params;
        char *vm_email = NULL;
+       char *vm_email_from = NULL;
        char *vm_notify_email = NULL;
        char *email_addr = NULL;
        char *vm_timezone = NULL;
@@ -2401,6 +2402,8 @@ static switch_status_t deliver_vm(vm_profile_t *profile,
                        vm_email = switch_core_strdup(pool, val);
                } else if (!strcasecmp(var, "vm-notify-mailto")) {
                        vm_notify_email = switch_core_strdup(pool, val);
+               } else if (!strcasecmp(var, "vm-mailfrom")) {
+                       vm_email_from = switch_core_strdup(pool, val);
                } else if (!strcasecmp(var, "email-addr")) {
                        email_addr = switch_core_strdup(pool, val);
                } else if (!strcasecmp(var, "vm-email-all-messages") && (send_main = switch_true(val))) {
@@ -2544,7 +2547,9 @@ static switch_status_t deliver_vm(vm_profile_t *profile,
 
                switch_event_add_header_string(params, SWITCH_STACK_BOTTOM, "voicemail_message_len", duration_str);
 
-               if (zstr(profile->email_from)) {
+               if (!zstr(vm_email_from)) {
+                       from = switch_core_strdup(pool, vm_email_from);
+               } else if (zstr(profile->email_from)) {
                        from = switch_core_sprintf(pool, "%s@%s", myid, domain_name);
                } else {
                        from = switch_event_expand_headers(params, profile->email_from);