Solved

E-mailing data with Java Servlets

Posted on 2004-10-05
17
307 Views
Last Modified: 2013-11-24
I have a Java Servlets application that runs on WebLogic Server. Is it possible to create a following functionality with java servlets:

User of the application should click a button; the servlet would be called that would collect and send data (preferably in an excel format) to an assigned e-mail address.  

Please let me know if and how is it possible to do.  
0
Comment
Question by:ane4ka
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 7
  • 4
  • 2
  • +1
17 Comments
 
LVL 12

Expert Comment

by:Giant2
ID: 12227795
Sure.
All the job could be done by a Servlet that receive the data, organize them and send the mail.
0
 
LVL 12

Accepted Solution

by:
Giant2 earned 125 total points
ID: 12227807
See this for an example about sending e-mail.
http://www.javaalmanac.com/egs/javax.mail/SendApp.html
0
 

Author Comment

by:ane4ka
ID: 12227826
Can you pleasegive me some details or code sample how 'send e-mail' part should be programmed.
0
Forrester Webinar: xMatters Delivers 261% ROI

Guest speaker Dean Davison, Forrester Principal Consultant, explains how a Fortune 500 communication company using xMatters found these results: Achieved a 261% ROI, Experienced $753,280 in net present value benefits over 3 years and Reduced MTTR by 91% for tier 1 incidents.

 
LVL 12

Expert Comment

by:Giant2
ID: 12227834
I suggest you to not use Excel format , but CSV format. It's really more lite.
For excel format you can see al jakarta POI:
http://jakarta.apache.org/poi/hssf/

Hope all these things could help you.
Bye, Giant.
0
 
LVL 12

Expert Comment

by:Giant2
ID: 12227892
>Can you pleasegive me some details or code sample how 'send e-mail' part should be programmed
In the first link I post there is a clear example.
0
 
LVL 12

Expert Comment

by:Giant2
ID: 12227927
client click a button, so a request is sent to a servlet (name it as XYSerlet).

In the doPost method of the XYServlet the things you must do are the following:
read the data needing
create the file (cvs) as suggest
send the mail (you can use the send method present in the link).
0
 

Author Comment

by:ane4ka
ID: 12228235
Thanks a lot for all your suggestions and examples.
One more question.  Do I have to download any packages for the e-mail to work (Ex: javax.mail)

Thanks!
0
 
LVL 4

Assisted Solution

by:gdrnec
gdrnec earned 125 total points
ID: 12229360
javax.mail is in the J2EE packages. If you don't have it you can download it at http://java.sun.com. I think it is also available as a separate package if you don't need the whole j2ee.jar

BTW. I didn't follow the link for the sample code but here is a class that does mail if you need it.

import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;

/**
 *
 * @author  gdrnec
 */
public class MailHandler {
    private Session session;
    private String from = "bob@loadsaenergy.com";
    /** Creates a new instance of MailHandler */
    public MailHandler() {
        // Get system properties
        Properties props = System.getProperties();
       
        // Setup mail server
        props.put("mail.smtp.host", "smtp.loadsaenergy.com");
       
        try {
            // Get session
            session = Session.getDefaultInstance(props, null);
        } catch (Exception X) {
            System.out.println("Coudn't create mail session. " + X.getMessage());
        }
    }
   
    public void sendMail(String to, String msg, String subject) {
        try {            
            // Define message
            MimeMessage message = new MimeMessage(session);
            message.setFrom(new InternetAddress(from));
            message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));
            message.setSubject(subject);
            message.setText(msg);
           
            // Send message
            Transport.send(message);
        } catch (Exception X) {
            System.out.println("Couldn't send mail. " + X.getMessage());
        }        
    }
   
}
0
 
LVL 12

Expert Comment

by:Giant2
ID: 12234704
ane4ka,
you told:
Thanks a lot for all your suggestions and examples.
BUT you don't accept my answer.
If you have a mistake, please send a 0point post to the Support asking to reopen this question. When it's reopen you could reassing the points.

If you don't a mistake, THANKS wery much.

Bye, Giant.
0
 

Author Comment

by:ane4ka
ID: 12239017
I accepted your final answer.
Let me know if you want me to accept all of them...
0
 
LVL 12

Expert Comment

by:Giant2
ID: 12239068
>I accepted your final answer.

See better, please. You accept the answer of gdrnec, not the mine.
Bye, Giant.
0
 
LVL 4

Expert Comment

by:gdrnec
ID: 12239092
Have I been stepping on toes here. If so I do appologize.

I only want to help.

Geoff
0
 
LVL 20

Expert Comment

by:Venabili
ID: 12256503
ane4ka,

Want me to reopen so you can make a split or reassign here? You had given the points not to the person that had worked with you and to whom you think you had given them :)

Venabili
Java Page Editor
0
 

Author Comment

by:ane4ka
ID: 12258685
Venabili,

Yes please reopen the case, so I can reassign; I didn't realize there were to poeple involved.

Thanks,
0
 
LVL 20

Expert Comment

by:Venabili
ID: 12275110
Question reopened :)
Sorry for the late reaction - was offline :(

Venabili
0

Featured Post

Revamp Your Training Process

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
printf performancy 11 101
swing controls 2 37
Setup GlassFish 4 55
Are there any issues with Autowiring a Controller Object into other @Component class 1 11
Introduction This article is the first of three articles that explain why and how the Experts Exchange QA Team does test automation for our web site. This article explains our test automation goals. Then rationale is given for the tools we use to a…
In this post we will learn different types of Android Layout and some basics of an Android App.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
This tutorial covers a step-by-step guide to install VisualVM launcher in eclipse.

732 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