Hai friends,
I get the Following error while using
Java Mail Program.
Program:
import java.io.*;
import java.net.InetAddress;
import java.util.Properties;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;
public class msgsend
{
public static void main(
String[] argv)
{
new msgsend(argv);
}
public msgsend(String[] argv)
{
String to="
[email protected]", subject ="Hai", from ="
[email protected]", cc = null, bcc = null, url = null;
String mailhost = "mail.yahoo.com"; String mailer = "msgsend";
String protocol = "smtp", host = "mail.yahoo.com" , user = "archana", password = "null";
String record = null;
// name of folder in which to record mail
boolean debug = false;
BufferedReader in =new BufferedReader(new InputStreamReader(System.in));
int optind;
for (optind = 0; optind < argv.length;optind++)
{
if (argv[optind].equals("-T")) { protocol = argv[++optind]; }
else if (argv[optind].equals("-H")) { host = argv[++optind]; }
else if (argv[optind].equals("-U")) { user = argv[++optind]; }
else if (argv[optind].equals("-P")) { password = argv[++optind]; }
else if (argv[optind].equals("-M")) { mailhost = argv[++optind]; }
else if (argv[optind].equals("-f")) { record = argv[++optind]; }
else if (argv[optind].equals("-s")) { subject = argv[++optind]; }
else if (argv[optind].equals("-o")) { from = argv[++optind]; }
else if (argv[optind].equals("-c")) { cc = argv[++optind]; }
else if (argv[optind].equals("-b")) { bcc = argv[++optind]; }
else if (argv[optind].equals("-L")) { url = argv[++optind]; }
else if (argv[optind].equals("-d")) { debug = true; }
else if (argv[optind].equals("--")) { optind++; break; }
else if (argv[optind].startsWith("-")) {
System.out.println("Usage: msgsend [[-L store-url] | [-T prot] [-H host] [-U user][-P passwd]]");
System.out.println("\t[-s subject] [-o from-address] [-c cc-addresses] [-b bcc-addresses]");
System.out.println("\t[-f record-mailbox] [-M transport-host] [-d] [address]");
System.exit(1); }
else
{ break; }
}
try
{ if (optind < argv.length)
{
// XXX - concatenate all remaining arguments
to = argv[optind];
System.out.println("To: " + to);
}
else
{ System.out.print("To: ");
System.out.flush();
to = in.readLine();
}
if (subject == null)
{
System.out.print("Subject: ");
System.out.flush();
subject = in.readLine();
}
else
{
System.out.println("Subject: " + subject);
}
Properties props = System.getProperties();
// XXX - could use Session.getTransport() and Transport.connect()
// XXX - assume we're using SMTP
if (mailhost != null) props.put("mail.smtp.host", mailhost);
Session session = Session.getInstance(props, null);
if (debug) session.setDebug(true);
// construct the message
Message msg = new MimeMessage(session);
if (from != null)
msg.setFrom(new InternetAddress(from));
else
msg.setFrom();
msg.setRecipients(Message.RecipientType.TO, InternetAddress.parse(to,false));
if (cc != null)
msg.setRecipients(Message.RecipientType.CC,InternetAddress.parse(cc, false));
if (bcc != null)
msg.setRecipients(Message.RecipientType.BCC,InternetAddress.parse(bcc,false));
msg.setSubject(subject);
collect(in, msg);
msg.setHeader("X-Mailer", mailer);
msg.setSentDate(new Date());
Transport.send(msg);
System.out.println("\nMail was sent successfully.");
// Keep a copy, if requested.
if (record != null)
{
// Get a Store object
Store store = null;
if (url != null)
{
URLName urln = new URLName(url);
store = session.getStore(urln);
store.connect();
}
else
{
if (protocol != null)
store = session.getStore(protocol);
else
store = session.getStore();
// Connect
if (host != null || user != null || password != null)
store.connect(host,user, password);
else
store.connect();
}
// Get record Folder. Create if it does not exist.
Folder folder = store.getFolder(record);
if (folder == null)
{
System.err.println("Can't get record folder.");
System.exit(1);
}
if (!folder.exists())
folder.create(Folder.HOLDS_MESSAGES);
Message[] msgs = new Message[1];
msgs[0] = msg;
folder.appendMessages(msgs);
System.out.println("Mail was recorded successfully.");
}
}
catch (Exception e)
{ e.printStackTrace(); }
}
public void collect(BufferedReader in, Message msg)throws MessagingException, IOException
{
msg.setText("Hello");
}
}
Error:
To:
[email protected] Subject: Hai
javax.mail.SendFailedException: Sending failed;
nested exception is:
class javax.mail.MessagingException: Unknown SMTP host: mail.yahoo.com;
nested exception is:
java.net.UnknownHostException: mail.yahoo.com
at javax.mail.Transport.send0(Transport.java:218)
at javax.mail.Transport.send(Transport.java:80)
at msgsend.<init>(msgsend.java:91)
at msgsend.main(msgsend.java:12)
Can Anyone tell me what the error is. ping
www.mail.yahoo.com or telnet is also not working.
Archana