This week's giveaway is in the Android forum.
We're giving away four copies of Android Security Essentials Live Lessons and have Godfrey Nolan on-line!
See this thread for details.
The moose likes Java in General and the fly likes Sending email using  /usr/bin/mail Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Sending email using  /usr/bin/mail" Watch "Sending email using  /usr/bin/mail" New topic

Sending email using /usr/bin/mail

lina ajay
Ranch Hand

Joined: Apr 04, 2008
Posts: 31
I am getting an exception while trying to send an email. I am executing it from my local workspace.

This is the code that I am using

Runtime rt = Runtime.getRuntime();
int rc = 0;
try {
Process p = rt.exec(new String[] { "/usr/bin/mail", "-s", Subject, tempmaillist });
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(p.getOutputStream()));

rc = p.exitValue();
} catch (Exception e) {
As soon as I execute (in debug mode) Process p = rt.exec(new String[] { "/usr/bin/mail", "-s", Subject, tempmaillist }); an exception is thrown

CreateProcess: /usr/bin/mail -s "Invalid data. Check the data" error=3

Can anybody please let me know what the problem could be.
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14074

Sorry, I don't have a solution for your problem.

A better and platform-independent way to send e-mail from a Java program is by using the JavaMail API, instead of calling a native executable as you are doing now.

Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 7 API documentation
Scala Notes - My blog about Scala
Joe Ess

Joined: Oct 29, 2001
Posts: 8843

Your code works fine for me. Like the error message states, the data you are sending the process probably has problems.
As Jesper says, the JavaMail API is probably a better solution.

"blabbing like a narcissistic fool with a superiority complex" ~ N.A.
[How To Ask Questions On JavaRanch]
I agree. Here's the link:
subject: Sending email using /usr/bin/mail
Similar Threads
to call the mail message window of MS Outlook
Shell script from a java application
Opening CSV file in ReadOnly while writing data to it
getRuntime().exec() - HELP PLEASE
getRuntime question