File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Other JSE/JEE APIs and the fly likes sending email to hotmail account using javamail API Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Other JSE/JEE APIs
Bookmark "sending email to hotmail account using javamail API" Watch "sending email to hotmail account using javamail API" New topic

sending email to hotmail account using javamail API

Damanjit Kaur
Ranch Hand

Joined: Oct 18, 2004
Posts: 346

I need to write a program for sending email to some Hotmail account. I am using javamail API. I am totally new to javamail API and writing email programs.

Here is a part of my program code ( which I got from one of demo folder of javamail API ):

String from = "";
String url = null;
String mailhost = null;
String mailer = "smtpsend";
String protocol = null, host = null, user = null, password = null;
String record = null; // name of folder in which to record mail
boolean debug = false;
boolean verbose = false;
boolean auth = false;
SMTPTransport t=null;

Properties prop = System.getProperties();
prop.put("", mailhost);
prop.put("mail.smtp.auth", "true");

// Get a Session object
Session session = Session.getInstance(prop, null);

// construct the message
Message msg = new MimeMessage(session);
msg.setFrom(new InternetAddress(from));
msg.setRecipients(Message.RecipientType.TO,InternetAddress.parse(textTo.getText(), false));
msg.setRecipients(Message.RecipientType.CC,InternetAddress.parse(textCc.getText(), false));
msg.setHeader("X-Mailer", mailer);
msg.setSentDate(new Date());
t = (SMTPTransport)session.getTransport("smtp");
t.connect(mailhost, user, password); // because author is true

System.out.println("got connected");

t.sendMessage(msg, msg.getAllRecipients());

System.out.println("message sent");

}catch(MessagingException ms){System.out.println(ms);}
if (verbose) System.out.println("Response: " + t.getLastServerResponse());
try{ t.close(); }catch(MessagingException m){System.out.println(m);}

System.out.println("\nMail was sent successfully.");


In the above code I want to know
- what are ' mailhost and host ' and what value I should put there in case I want to send the email to Hotmail account?
- Somewhere I read hotmail doesn't uses smtp for sending emails. In that case the code I am writing above is wrong. What should I change?
- Also If I should use some smtp server to send emails to hotmail account or I can just send emails without it.

I might be asking some silly questions but please answer me.

Senthil B Kumar
Ranch Hand

Joined: Feb 09, 2004
Posts: 160
You need to use a Server to send your mails.

the JAVA MAIL API's just give an abstraction and allows you to connect to the SMTP Server and send mails through it, without knowing the underlying technical information.

Work like you don't need the money. Love like you've never been hated. Dance like nobody's watching. Sing like nobody's listening. Live like it's Heaven on Earth.
Currently I Reside Here WEBlog
Damanjit Kaur
Ranch Hand

Joined: Oct 18, 2004
Posts: 346
Thanks prince for answering me. I have another question.

At present I used the smtp server running in my office. But that will work only when I am in office. I want to know if there are some other smtp server freely available to send emails.
I agree. Here's the link:
subject: sending email to hotmail account using javamail API
jQuery in Action, 3rd edition