f



Failed to send mail from Java Application

Hi,

I need to send email from my java application into internet
server(gmail or yahoo. etc). I tried with gmail smtp but they gives
some time out. please send code related into that .

by
Joshan
joshanjoe@gmail.com

0
joshanjoe (1)
6/20/2006 6:19:22 AM
comp.lang.java.programmer 52711 articles. 1 followers. Post Follow

3 Replies
434 Views

Similar Articles

[PageSpeed] 54

Checkout :
http://www.javacommerce.com/destination65673/18274/SendMailUsingAuthentication.java

That has all the code you need. Then you just need to be sure you have
a SMTP server you can use. The server may require authentication, but
that class includes how to use a username/pass.

If you have problems, it may also be worth trying the IP of the server
rather than its host name.

0
ickz (8)
6/20/2006 12:59:19 PM
ickz wrote:
> Checkout :
> http://www.javacommerce.com/destination65673/18274/SendMailUsingAuthentication.java
> 
> That has all the code you need. Then you just need to be sure you have
> a SMTP server you can use. The server may require authentication, but
> that class includes how to use a username/pass.
> 
> If you have problems, it may also be worth trying the IP of the server
> rather than its host name.
> 

Seems that all of the classes are not available for this 
SendMailUsingAuthentication program.

Thanks in Advance...
IchBin, Pocono Lake, Pa, USA 
http://weconsultants.servebeer.com/JHackerAppManager
__________________________________________________________________________

'If there is one, Knowledge is the "Fountain of Youth"'
-William E. Taylor,  Regular Guy (1952-)
0
weconsul (1131)
6/20/2006 11:56:52 PM
Ok well here is a better example then:


=================================================

import javax.mail.*;
import javax.mail.internet.*;

import java.util.*;

/**
 * Sends an email
 * @author ****
 *
 */
public final class EmailSender
{

   /**
    * Initialize
    * @param theUser The user the mail is from (e.g. admin)
    * @param theSMTPHost The SMTP server
    * @param theFromAddr The email address the mail is sent from (e.g.
admin@mydomain.com)
    * @throws Exception if problem encountered
    */
    public EmailSender(String theUser, String theSMTPHost, String
theFromAddr) throws Exception
    {

       //Set the host smtp address
       Properties theProperties = new Properties();

       theProperties.put("mail.smtp.user", theUser);
       theProperties.put("mail.smtp.host", theSMTPHost);
       try
       {
          myFromAddr = new InternetAddress(theFromAddr);
       }
       catch(AddressException e)
       {
          throw new Exception("Failed to obtain sender address");
       }

        mySession = Session.getDefaultInstance(theProperties, null);
    }

    /**
     * Sends an Email
     * @param theRecipients the recipients
     * @param theSubject the email subject
     * @param theMessage the email message
     * @throws MessagingException on exception
     */
    public void sendMail( String[] theRecipients, String theSubject,
String theMessage) throws MessagingException
    {
       if(theRecipients.length>0)
       {
           // create a message
           Message msg = new MimeMessage(mySession);

           // set the from and to address
           msg.setFrom(myFromAddr);

           InternetAddress[] addressTo = new
InternetAddress[theRecipients.length];
           for (int i = 0; i < theRecipients.length; i++)
           {
           addressTo[i] = new InternetAddress(theRecipients[i]);
           }
           msg.setRecipients(Message.RecipientType.TO, addressTo);

           // Setting the Subject and Content Type
           msg.setSubject(theSubject);
           msg.setContent(theMessage, "text/plain");
           Transport.send(msg);
       }
       //else nothing to send
    }

    /** Session **/
    private Session mySession;
    /** the from address */
    private InternetAddress myFromAddr;

}
=============================================================

You will need the java mail package (
http://java.sun.com/products/javamail/ )

The class can be ran easily, something like:

             EmailSender myEmailSender = new EmailSender("admin",
"127.0.0.1", "admin@somewhere.com");
	    //Email body
             String body="This is an example email from java.";
             String[] theRecipients = {"myemail@somewhere.com"};
             myEmailSender.sendMail(theRecipients, "My Email Test",
body);



So it is just a case of having a SMTP server you can use really.

0
ickz (8)
6/21/2006 8:20:31 AM
Reply: