Failed to send mail from Java Application

J

joshanjoe

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
(e-mail address removed)
 
I

IchBin

ickz said:
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-)
 
I

ickz

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



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

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top