summaryrefslogtreecommitdiffstats
path: root/lib/Plugins/Mailx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Plugins/Mailx.cpp')
-rw-r--r--lib/Plugins/Mailx.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/lib/Plugins/Mailx.cpp b/lib/Plugins/Mailx.cpp
index 8aacef3..b7cdcfe 100644
--- a/lib/Plugins/Mailx.cpp
+++ b/lib/Plugins/Mailx.cpp
@@ -26,23 +26,23 @@
#include "PluginSettings.h"
#define MAILX_COMMAND "/bin/mailx"
-#define MAILX_SUBJECT "\"abrt automated bug report\""
CMailx::CMailx() :
m_sEmailFrom("user@localhost"),
m_sEmailTo("root@localhost"),
m_sParameters(""),
m_sAttachments(""),
+ m_sSubject("[abrt] full crash report"),
m_bSendBinaryData(false)
{}
-void CMailx::SendEmail(const std::string& pText)
+void CMailx::SendEmail(const std::string& pSubject, const std::string& pText)
{
FILE* command;
std::string mailx_command = MAILX_COMMAND + m_sAttachments +
" " + m_sParameters +
- " -s " + MAILX_SUBJECT +
+ " -s " + pSubject +
" -r " + m_sEmailFrom + " " + m_sEmailTo;
command = popen(mailx_command.c_str(), "w");
@@ -58,7 +58,7 @@ void CMailx::SendEmail(const std::string& pText)
}
-void CMailx::Report(const map_crash_report_t& pCrashReport)
+void CMailx::Report(const map_crash_report_t& pCrashReport, const std::string& pArgs)
{
std::stringstream emailBody;
std::stringstream binaryFiles, commonFiles, bigTextFiles, additionalFiles, UUIDFile;
@@ -118,7 +118,14 @@ void CMailx::Report(const map_crash_report_t& pCrashReport)
m_sAttachments += binaryFiles.str();
}
- SendEmail(emailBody.str());
+ if (pArgs != "")
+ {
+ SendEmail(pArgs, emailBody.str());
+ }
+ else
+ {
+ SendEmail(m_sSubject, emailBody.str());
+ }
}
void CMailx::LoadSettings(const std::string& pPath)
@@ -126,6 +133,10 @@ void CMailx::LoadSettings(const std::string& pPath)
map_settings_t settings;
plugin_load_settings(pPath, settings);
+ if (settings.find("Subject")!= settings.end())
+ {
+ m_sSubject = settings["Subject"];
+ }
if (settings.find("EmailFrom")!= settings.end())
{
m_sEmailFrom = settings["EmailFrom"];