Failed to send mail from Java Application

Discussion in 'Java' started by joshanjoe@gmail.com, Jun 20, 2006.

  1. Guest

    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
    , Jun 20, 2006
    #1
    1. Advertising

  2. ickz Guest

    ickz, Jun 20, 2006
    #2
    1. Advertising

  3. IchBin Guest

    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-)
    IchBin, Jun 21, 2006
    #3
  4. ickz Guest

    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.
    )
    * @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 = new InternetAddress(theRecipients);
    }
    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", "");
    //Email body
    String body="This is an example email from java.";
    String[] theRecipients = {""};
    myEmailSender.sendMail(theRecipients, "My Email Test",
    body);



    So it is just a case of having a SMTP server you can use really.
    ickz, Jun 21, 2006
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Nathan Sokalski
    Replies:
    3
    Views:
    1,928
    Larry Lard
    Nov 23, 2005
  2. =?Utf-8?B?Unlhbg==?=
    Replies:
    2
    Views:
    3,878
    Steven Cheng[MSFT]
    Feb 28, 2006
  3. refv8
    Replies:
    2
    Views:
    27,033
    ittower
    Oct 13, 2006
  4. Mike P
    Replies:
    1
    Views:
    555
    =?ISO-8859-1?Q?G=F6ran_Andersson?=
    Mar 1, 2007
  5. Ramon
    Replies:
    2
    Views:
    989
    Ramon
    Oct 25, 2007
Loading...

Share This Page