<param name="loglevel" value="debug"/>
<!--Try to catch any crashes that can be recoverable (in the context of a call)-->
<param name="crash-protection" value="false"/>
+ <param name="mailer-app" value="sendmail"/>
+ <param name="mailer-app-args" value="-t"/>
<!--RTP port range -->
<!--<param name="rtp-start-port" value="16384"/>-->
<!--<param name="rtp-end-port" value="32768"/>-->
int32_t sps;
int32_t sps_last;
switch_log_level_t hard_log_level;
+ char *mailer_app;
+ char *mailer_app_args;
};
extern struct switch_runtime runtime;
switch_set_flag((&runtime), SCF_NO_NEW_SESSIONS);
runtime.hard_log_level = SWITCH_LOG_DEBUG;
+ runtime.mailer_app = "sendmail";
+ runtime.mailer_app_args = "-t";
/* INIT APR and Create the pool context */
if (apr_initialize() != SWITCH_STATUS_SUCCESS) {
switch_core_session_ctl(SCSC_LOGLEVEL, &level);
+ } else if (!strcasecmp(var, "mailer-app")) {
+ runtime.mailer_app = switch_core_strdup(runtime.memory_pool, val);
+ } else if (!strcasecmp(var, "mailer-app-args")) {
+ runtime.mailer_app_args = switch_core_strdup(runtime.memory_pool, val);
} else if (!strcasecmp(var, "sessions-per-second")) {
switch_core_sessions_per_second(atoi(val));
} else if (!strcasecmp(var, "max-sessions")) {
#ifndef WIN32
#include <arpa/inet.h>
#endif
+#include "private/switch_core_pvt.h"
static const char switch_b64_table[65] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
#define B64BUFFLEN 1024
if (ifd) {
close(ifd);
}
- snprintf(buf, B64BUFFLEN, "/bin/cat %s | /usr/sbin/sendmail -tf \"%s\" %s", filename, from, to);
+ snprintf(buf, B64BUFFLEN, "/bin/cat %s | %s %s", filename, runtime.mailer_app, runtime.mailer_app_args);
if(system(buf)) {
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Unable to execute command: %s\n", buf);
}