I'm creating a SMTP client. I'm entering the data(to, from, subject, body) in a HTML form. How do I pass that data into the actual Java SMTP client so I can send it? I know how to hardcode the data into the client and send it that way but having trouble with letting the user enter the info. I've tried saving them as strings but had no luck.

Recommended Answers

All 8 Replies

what exactly do you try?
I think you would be better of using .jsp and java servlets, instead of plain html

This is my java code that I have when I hard coded the information

SMTPSender s = new SMTPSender(); 

    s.setToAddress("email@host.edu");
    s.setFromAddress("email@host.edu");
    s.setSubject("subject");
    s.setBody("this is the body");

    s.sendMessage();
  }
  }
  class SMTPSender{
 	String toAddress;
	public void setToAddress(String a){
		toAddress = a;
		}
	String fromAddress;
	public  void setFromAddress(String b){
		fromAddress = b;
		}
	String subject;
	public  void setSubject(String c){
		subject = c;
		}
	String body;
	public  void setBody(String d){
		body = d;
}

Here is my code for the form

<h1>Mail Page</h1>
 Please type your mail stuff below:
<form action=/mailer>
To:
<input name=toAddress ></input>
</br>
From:
<input name=fromAddress ></input>
</br>
Subject:
<input name=subject ></input>
<br>
Body:
<input name=body ></input>
<br>
<input type=submit></input>
</form>

How do I pass those?

Easiest way to use jsp and make sure the server supports jsp. Then in form tag, <form action="mail.jsp" method= post>
Check http://www.jsptut.com/Forms.jsp for details.

Use JSP's only for presenting data / view purposes only; use servlets for processing. Submit the above form to a servlet which would grab the mail related details, create a SMTPSender instance with the values obtained and do the required task.

Thanks, I'll try that. Is there not just a simple GET command in Java that will get the values?

You have a few options. You can either host a web application in a servlet container like Tomcat, submit the form to the servlet which would then do the processing. Or you can either create a standalone GUI/Command Line client which accepts the input from the user and sends the mail.

I looked at the above page but I'm not real familiar with jsp or servlets. Could I tokenize and parse the query string that is sent and set each tokenized part to toAddress, ect?

> Could I tokenize and parse the query string that is sent and set each tokenized part to
> toAddress, ect?

Sent where? Just having a HTML form doesn't help; you need to provide an action which will be executed once the form is submitted. Unless you have your own web application hosted somewhere, this isn't possible; there is nowhere for the data to be submitted.

> I'm not real familiar with jsp or servlets.

Now is a good time; head over to Sun's site for sample applications / tutorial. Either that or just create a simple console driven application.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.