-/* @(#) $Id$ */
+/* @(#) $Id: ./src/os_maild/sendcustomemail.c, 2011/09/08 dcid Exp $
+ */
/* Copyright (C) 2009 Trend Micro Inc.
* All rights reserved.
*
* This program is a free software; you can redistribute it
* and/or modify it under the terms of the GNU General Public
- * License (version 2) as published by the FSF - Free Software
+ * License (version 2) as published by the FSF - Free Software
* Foundation
*/
#define TO "To: <%s>\r\n"
#define CC "Cc: <%s>\r\n"
#define SUBJECT "Subject: %s\r\n"
+#define ENDHEADER "\r\n"
#define ENDDATA "\r\n.\r\n"
#define QUITMSG "QUIT\r\n"
+#define XHEADER "X-IDS-OSSEC: %s\r\n"
/* Error messages - Can be translated */
/* OS_SendCustomEmail
*/
-int OS_SendCustomEmail(char **to, char *subject, char *smtpserver, char *from, FILE *fp, struct tm *p)
+int OS_SendCustomEmail(char **to, char *subject, char *smtpserver, char *from, char *idsname, FILE *fp, struct tm *p)
{
int socket,i = 0;
char *msg;
/* Connecting to the smtp server */
- socket = OS_ConnectTCP(SMTP_DEFAULT_PORT, smtpserver);
+ socket = OS_ConnectTCP(SMTP_DEFAULT_PORT, smtpserver, 0);
if(socket < 0)
{
return(socket);
if(msg)
free(msg);
close(socket);
- return(OS_INVALID);
+ return(OS_INVALID);
}
}
else
{
break;
}
-
+
memset(snd_msg,'\0',128);
snprintf(snd_msg,127, TO, to[i]);
OS_SendTCP(socket,snd_msg);
#else
strftime(snd_msg, 127, "Date: %a, %d %b %Y %T %z\r\n",p);
#endif
-
+
OS_SendTCP(socket,snd_msg);
+ if (idsname)
+ {
+ /* Sending server name header */
+ memset(snd_msg,'\0',128);
+ snprintf(snd_msg,127, XHEADER, idsname);
+ OS_SendTCP(socket, snd_msg);
+ }
/* Sending subject */
memset(snd_msg, '\0', 128);
OS_SendTCP(socket, snd_msg);
+ OS_SendTCP(socket,ENDHEADER);
/* Sending body */
while(fgets(buffer, 2048, fp) != NULL)
{
OS_SendTCP(socket,buffer);
- }
+ }
/* Sending end of data \r\n.\r\n */