![]() |
|
|
|||||||
![]() |
Java - send SMTP mail using JavaMail with gmail account |
|
|
Thread Tools | Search this Thread |
|
|
#1 |
|
I want the Java application to send email using google gmail account.
The following is the output, and it cannot display "sendMail() 3..." in the following sendMail() method. The program just hangs after printing "sendMail() 2...", and there is no errors. output =============== sendMail()... sendMail() 2... Basically it get stucks on line transport.connect(smtpHost, 465, "gmail account", "gmail password"); ---------------------------------------------------------- public void sendMail() throws MessagingException { System.out.println("sendMail()..."); Properties props = new Properties(); props.put("mail.smtp.host", "smtp.gmail.com"); props.put("mail.smtp.port", "465"); // props.put("mail.smtp.auth", "true"); Session session = Session.getDefaultInstance(props, null); session.setDebug(false); MimeMessage message = new MimeMessage(session); message.setFrom(from); Iterator itrto = toRecipients.iterator(); while(itrto.hasNext()) { Object obj = (Address)itrto.next(); if(obj instanceof Address){ message.addRecipient(Message.RecipientType.TO, (Address)obj); } } System.out.println("sendMail() 2..."); message.setSubject(subject); message.setContent(msgText, "text/plain"); Transport transport = session.getTransport("smtp"); //***** GET STUCK HERE!!! ****** transport.connect(smtpHost, 465, "gmail account", "gmail password"); System.out.println("sendMail() 3..."); Transport.send(message); System.out.println("sendMail() 4..."); } -------------------------------------------------------- any ideas? please advise. thanks!! jrefactors@hotmail.com |
|
|
|
|
#2 |
|
Posts: n/a
|
|
|
|
|
#3 |
|
Posts: n/a
|
GaryM wrote: > wrote in news:1109005482.258452.142720 > @o13g2000cwo.googlegroups.com: > > > // props.put("mail.smtp.auth", "true"); > > Uncomment this line. I uncomment line props.put("mail.smtp.auth", "true"); but it still cannot display sendMail() 3...: sendMail()... sendMail() 2... But it has exception this time: javax.mail.MessagingException: Could not connect to SMTP host: smtp.gmail.com, port: 465; nested exception is: java.net.ConnectException: Connection timed out: connect at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTra nsport.java:867) at com.sun.mail.smtp.SMTPTransport.protocolConnect(SM TPTransport.java:156) at javax.mail.Service.connect(Service.java:234) at SMTPHandler.sendMail(SMTPHandler.java:145) at SMTPHandlerTest.main(SMTPHandlerTest.java:33) Exception in thread "main" any ideas? thanks!! jrefactors@hotmail.com |
|
|
|
#4 |
|
Posts: n/a
|
|
|
|
|
#5 |
|
Posts: n/a
|
GaryM <gmaddr-> wrote in news:Xns9604BA3A9C8DR3344324357788499939@192.168.1 .81:
> > I have no time to try this myself, but you can give it a go and post > back: OK Here is working code. I followed the instructions here, which, though it does not even mention SMTP, still works with SMTP: http://www.javaworld.com/javatips/jw-javatip115.html Look for the xxxxx occurances and substiture with your credentials : /* * Created on Feb 21, 2005 * */ import java.security.Security; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class GoogleTest { private static final String SMTP_HOST_NAME = "smtp.gmail.com"; private static final String SMTP_PORT = "465"; private static final String emailMsgTxt = "Test Message Contents"; private static final String emailSubjectTxt = "A test from gmail"; private static final String emailFromAddress = ""; private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; private static final String[] sendTo = { ""}; public static void main(String args[]) throws Exception { Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); new GoogleTest().sendSSLMessage(sendTo, emailSubjectTxt, emailMsgTxt, emailFromAddress); System.out.println("Sucessfully Sent mail to All Users"); } public void sendSSLMessage(String recipients[], String subject, String message, String from) throws MessagingException { boolean debug = true; Properties props = new Properties(); props.put("mail.smtp.host", SMTP_HOST_NAME); props.put("mail.smtp.auth", "true"); props.put("mail.debug", "true"); props.put("mail.smtp.port", SMTP_PORT); props.put("mail.smtp.socketFactory.port", SMTP_PORT); props.put("mail.smtp.socketFactory.class", SSL_FACTORY); props.put("mail.smtp.socketFactory.fallback", "false"); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("xxxxxx", "xxxxxx"); } }); session.setDebug(debug); Message msg = new MimeMessage(session); 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"); Transport.send(msg); } } GaryM |
|
|
|
#6 |
|
Posts: n/a
|
hello
praveena.philip@gmail.com |
|
|
|
#7 |
|
Junior Member
Join Date: May 2006
Posts: 2
|
I was searching Google for advice on Gmail + javamail and found this forum. I tried Gary's code (replacing the x's with appropriate info, of course) and got the following feedback:
Code:
theAmerican |
|
|
|
|
|
#8 |
|
Junior Member
Join Date: May 2006
Posts: 2
|
Actually, nevermind. The code worked after I removed all the individual protocols from my /Library/Java/Extensions folder. I hadn't realized they were redundant.
theAmerican |
|
|
|
|
|
#9 |
|
Junior Member
Join Date: Jul 2006
Posts: 2
|
Hi,
I am facing problem while sending attachment thru java code(smtp mail ). kindly help me in this regard. regards, Mritunjay Mritunjay |
|
|
|
|
|
#10 |
|
Junior Member
Join Date: Jul 2006
Posts: 2
|
OK Here is working code. I followed the instructions here, which, though it
does not even mention SMTP, still works with SMTP: http://www.javaworld.com/javatips/jw-javatip115.html Look for the xxxxx occurances and substiture with your credentials : /* * Created on Feb 21, 2005 * */ import java.security.Security; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.PasswordAuthentication; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; public class GoogleTest { private static final String SMTP_HOST_NAME = "smtp.gmail.com"; private static final String SMTP_PORT = "465"; private static final String emailMsgTxt = "Test Message Contents"; private static final String emailSubjectTxt = "A test from gmail"; private static final String emailFromAddress = ""; private static final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory"; private static final String[] sendTo = { ""}; public static void main(String args[]) throws Exception { Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider()); new GoogleTest().sendSSLMessage(sendTo, emailSubjectTxt, emailMsgTxt, emailFromAddress); System.out.println("Sucessfully Sent mail to All Users"); } public void sendSSLMessage(String recipients[], String subject, String message, String from) throws MessagingException { boolean debug = true; Properties props = new Properties(); props.put("mail.smtp.host", SMTP_HOST_NAME); props.put("mail.smtp.auth", "true"); props.put("mail.debug", "true"); props.put("mail.smtp.port", SMTP_PORT); props.put("mail.smtp.socketFactory.port", SMTP_PORT); props.put("mail.smtp.socketFactory.class", SSL_FACTORY); props.put("mail.smtp.socketFactory.fallback", "false"); Session session = Session.getDefaultInstance(props, new javax.mail.Authenticator() { protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("xxxxxx", "xxxxxx"); } }); session.setDebug(debug); Message msg = new MimeMessage(session); 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"); Transport.send(msg); } }[/quote] Hello, How do i send attachment with smtp mail . can u please tell me the code regards, Mritunjay Mritunjay |
|
|
|
![]() |
| Thread Tools | Search this Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| I have become rich in 30 days | lemony-snicket | A+ Certification | 2 | 09-07-2009 03:01 PM |
| How to turn $6 to $16000 in few days of web crawling | please@dontreply.net | DVD Video | 0 | 02-02-2007 07:25 AM |
| This is incredible! | jc_ice | DVD Video | 1 | 08-13-2006 10:47 AM |
| TURN $5 INTO $15,000 IN ONLY 30 DAYS...HERES HOW! | mosquitonose@hotmail.com | DVD Video | 1 | 01-19-2006 12:58 AM |
| TURN $5 INTO $15,000 IN ONLY 30 DAYS...HERES HOW! | mosquitonose@hotmail.com | DVD Video | 0 | 01-18-2006 10:32 PM |