Hi!
The program of JavaMail to send email by using gmail SMTP server was working correctly in Windows 7. When I tested the program in Windows XP in a different machine, then the email is not going. Either Messaging or SendMail exception comes. I have used JDK1.6 and NetBeans 5.5 in both the machines.
Kindly let me know whether the problem is because of change of OS (in which case some changes in coding may be needed) or some setting needs to be done in NetBeans, which was taken automatically in Windows 7.
The code is=
/* * SendMail.java * * Created on 19 April, 2010, 10:14 AM * * To change this template, choose Tools | Template Manager * and open the template in the editor. */ package utility; import java.io.Console; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; import java.util.*; /** * * @author Khushbu * @version */ public class SendMail { String username=null; String password=null; /** Creates a new instance of SendMail */ public SendMail() { } public void postMail( String recipients[ ], String subject, String message, String from, String pwd) throws MessagingException { boolean debug = false; //Set the host smtp address Properties props = new Properties(); //props.put("mail.smtp.host", "smtp.live.com"); String host="smtp.gmail.com"; props.put("mail.smtps.auth", "true"); // Authenticator a1= new PopupAuthenticator(); // create some properties and get the default Session Session session = Session.getDefaultInstance(props, null); session.setDebug(debug); // create a message Message msg = new MimeMessage(session); // set the from and to address //InternetAddress addressFrom = new InternetAddress(from); //msg.setFrom(addressFrom); InternetAddress[] addressTo = new InternetAddress[recipients.length]; for (int i = 0; i < recipients.length; i++) { addressTo[i] = new InternetAddress(recipients[i]); } msg.setRecipients(Message.RecipientType.TO, addressTo); // Setting the Subject and Content Type msg.setSubject(subject); msg.setContent(message, "text/plain"); //msg.setText(message); //Transport.send(msg); username = from; password = pwd; Transport t = session.getTransport("smtps"); try { t.connect(host, username, password); //t.connect(host, username); t.sendMessage(msg, msg.getAllRecipients()); } catch(Exception ex) { out.println(ex); } finally { t.close(); } } }