Solved

DOS bat-file mail via Java

Posted on 2009-05-09
6
479 Views
Last Modified: 2013-11-24
Hi,

I need to make a dos bat-file to shedule.
In this bat-file I call sqlplus to run a query that works fine.
The results of that query needs to be mailed to an address.
On the same machine I found an example of an old college. In his bat-file the last instruction is :
java -cp .;D:\BR\com\util\activation.jar;D:\BR\com\util\mail.jar com.util.CheckFile "D:\BR\LOG\UL3.bad" "mailadres@mail.du" "SQLLOADER" "111.x.111.xx" "Results of query
In the directory where I found his bat-file there is a diretory com\util with the files activation.jar, mail.jar and CheckFile.Class.
I copied this to my directory but it seems not to work (when executing the bat-file I receive an error on that mailing) . I have no experience with java at all.
I think that I may not copy the jar-file. But I need to install something? Also the Checkfile.Class I think I have to change this, but how can I do this. (With notepad it is rubbish)

Can someone give me a hint how I can solve this.

Thanks
0
Comment
Question by:haezeban
  • 3
  • 2
6 Comments
 
LVL 5

Expert Comment

by:DTAHARLEV
ID: 24344765
just use the WSH smtp option, or something like this (from here:http://www.paulsadowski.com/WSH/cmdmail.htm)

@echo off & setlocal
:: set the temp file location
set tempmail=%temp%\tempmail.%random%.txt
:: echo the basic headers to the temp file
echo To: "Scripting Test" ^<test@paulsadowski.com^> > %tempmail%
echo From: "Me" ^<me@my.com^> >> %tempmail%
echo Subject: Test2 >> %tempmail%
:: echo the blank line that separates the header from the body text
echo.>>%tempmail%
:: echo the body text to the temp file
echo First line of body text.>> %tempmail%
echo Second line of body text.>> %tempmail%
:: move the temp file to the mail pickup directory
:: adjust this location for your system
move %tempmail% c:\inetpub\mailroot\pickup
set tempmail=
endlocal


0
 

Author Comment

by:haezeban
ID: 24344992
IIS doesn't run on that machine. I don't see it in administrative tools and not under services.
I don'think I can se your script.
anyway thanks
0
 
LVL 68

Expert Comment

by:Qlemo
ID: 24345386
For commandline send mail, it's best to use BLAT (www.blat.net). It allows for many options including sending attachments, and needs nothing installed on the executing PC.
0
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 
LVL 5

Expert Comment

by:DTAHARLEV
ID: 24345726
try this:
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "fromaddress@from.com"
objEmail.To = "toaddress@to.com"
objEmail.Subject = "subjkect"
objEmail.Textbody = "message"
objEmail.Send

If you have any MAPI client on the computer, it should work by using those settings.
0
 

Author Comment

by:haezeban
ID: 24420603
Hi,

I wrote a routine in C# and don't use anymore this javamail.
Thanks for help.
0
 

Accepted Solution

by:
haezeban earned 0 total points
ID: 24421496
I wrote a little programm in C#, and don't uses JAVAMAIL anymore (this was blackbox to me).
it works almost (just need to post a new question but in another mailgroup).

The code :
using System;
using System.Web.Mail;
using System.IO;

namespace Mailer
{
      /// <summary>
      /// This Class sends emails with or without attachment(s).
      /// </summary>
      ///
      public class Mailer
      {
            private MailMessage message;
            private bool problem = false;
            private string problemDescription = "";

            public bool Problem
            {
                  get {return problem;}
            }

            public string ProblemDescription
            {
                  get      {return problemDescription;}
            }

            public Mailer()
            {
                  message = new MailMessage();
            }

            public void sendMail(string to, string from, string subject, string body, string server, string attachment)
            {
                  try
                  {
                        message.To = to;
                        message.From = from;
                        message.Subject = subject;
                        message.Body = body;
                        if (attachment.Length > 4)
                        {
                              if (File.Exists(attachment)) message.Attachments.Add(new MailAttachment(attachment));
                        }
                  
                        try
                        {
                              SmtpMail.SmtpServer = server;
                              SmtpMail.Send(message);
                        }
                        catch(System.Web.HttpException ehttp)
                        {
                              problem = true;
                              problemDescription = ehttp.Message + "\n\r";
                              problemDescription += ehttp.ToString();
                        }
                  }
                  catch(System.Exception e)
                  {
                        problem = true;
                        problemDescription = e.Message + "\n\r";
                        problemDescription += e.ToString();
                  }
            }
      }
}

Thanks to all experts
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

YESTERDAY YESTERDAY.BAT is inspired by a previous article I wrote entitled: TOMORROW.BAT (http://www.experts-exchange.com/OS/Microsoft_Operating_Systems/MS_DOS/A_4196-Advanced-Batch-File-Programming-TOMORROW-BAT.html). The crux of this batch f…
Introduction This article is the second of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article covers the basic installation and configuration of the test automation tools used by…
The viewer will learn how to implement Singleton Design Pattern in Java.
This tutorial covers a practical example of lazy loading technique and early loading technique in a Singleton Design Pattern.

708 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now