X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fnotify_email.c;h=6843987cbf34b0f4f986846f051e954090b95643;hb=c5594dff03582000ef423007660d6ed38b8907bf;hp=08f865fc2c57805866ce3475a3ec9b3a77ed0e9a;hpb=61a1fa91ba73e4fe3a34949f77c5f017056f2b7a;p=collectd.git diff --git a/src/notify_email.c b/src/notify_email.c index 08f865fc..6843987c 100644 --- a/src/notify_email.c +++ b/src/notify_email.c @@ -66,7 +66,7 @@ static char *email_subject = NULL; /* Callback to get username and password */ static int authinteract (auth_client_request_t request, char **result, int fields, void __attribute__((unused)) *arg) -{ +{ int i; for (i = 0; i < fields; i++) { @@ -145,7 +145,7 @@ static int notify_email_init (void) if ( !smtp_auth_set_context (session, authctx)) { pthread_mutex_unlock (&session_lock); ERROR ("notify_email plugin: cannot set SMTP auth context"); - return (-1); + return (-1); } pthread_mutex_unlock (&session_lock); @@ -229,6 +229,7 @@ static int notify_email_notification (const notification_t *n, user_data_t __attribute__((unused)) *user_data) { + time_t tt; struct tm timestamp_tm; char timestamp_str[64]; @@ -248,7 +249,8 @@ static int notify_email_notification (const notification_t *n, (email_subject == NULL) ? DEFAULT_SMTP_SUBJECT : email_subject, severity, n->host); - localtime_r (&n->time, ×tamp_tm); + tt = CDTIME_T_TO_TIME_T (n->time); + localtime_r (&tt, ×tamp_tm); strftime (timestamp_str, sizeof (timestamp_str), "%Y-%m-%d %H:%M:%S", ×tamp_tm); timestamp_str[sizeof (timestamp_str) - 1] = '\0'; @@ -256,7 +258,7 @@ static int notify_email_notification (const notification_t *n, /* Let's make RFC822 message text with \r\n EOLs */ ssnprintf (buf, buf_len, "MIME-Version: 1.0\r\n" - "Content-Type: text/plain;\r\n" + "Content-Type: text/plain; charset=\"US-ASCII\"\r\n" "Content-Transfer-Encoding: 8bit\r\n" "Subject: %s\r\n" "\r\n" @@ -280,7 +282,7 @@ static int notify_email_notification (const notification_t *n, if (!(message = smtp_add_message (session))) { pthread_mutex_unlock (&session_lock); ERROR ("notify_email plugin: cannot set SMTP message"); - return (-1); + return (-1); } smtp_set_reverse_path (message, email_from); smtp_set_header (message, "To", NULL, NULL); @@ -291,21 +293,17 @@ static int notify_email_notification (const notification_t *n, /* Initiate a connection to the SMTP server and transfer the message. */ if (!smtp_start_session (session)) { - char buf[MAXSTRING]; ERROR ("notify_email plugin: SMTP server problem: %s", smtp_strerror (smtp_errno (), buf, sizeof buf)); pthread_mutex_unlock (&session_lock); return (-1); } else { #if COLLECT_DEBUG - const smtp_status_t *status; - /* Report on the success or otherwise of the mail transfer. */ - status = smtp_message_transfer_status (message); - DEBUG ("notify_email plugin: SMTP server report: %d %s", - status->code, (status->text != NULL) ? status->text : "\n"); - #else - //I don't know if the function below has side affects so i'm calling it to be on the safe side. - smtp_message_transfer_status (message); + const smtp_status_t *status; + /* Report on the success or otherwise of the mail transfer. */ + status = smtp_message_transfer_status (message); + DEBUG ("notify_email plugin: SMTP server report: %d %s", + status->code, (status->text != NULL) ? status->text : "\n"); #endif smtp_enumerate_recipients (message, print_recipient_status, NULL); }