Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在从Java程序发送邮件时清除异常?_Java_Eclipse - Fatal编程技术网

如何在从Java程序发送邮件时清除异常?

如何在从Java程序发送邮件时清除异常?,java,eclipse,Java,Eclipse,我正在使用EclipseLuna包。我需要从我的Java程序发送一封电子邮件。运行程序时引发异常 package a1; import java.io.*; import java.net.*; public class a4 { public static void main(String[] args) { try { if (args.length >= 1) System.getProperties().put("mail.host

我正在使用EclipseLuna包。我需要从我的Java程序发送一封电子邮件。运行程序时引发异常

package a1;
import java.io.*;
import java.net.*;
public class a4 {
    public static void main(String[] args) {
        try { 
            if (args.length >= 1) System.getProperties().put("mail.host", args[0]);
            BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
            System.out.print("From: ");
            String from = in.readLine();
            System.out.print("To: ");
            String to = in.readLine();
            System.out.print("Subject: ");
            String subject = in.readLine();
            URL u = new URL("mailto:" + to);       
            URLConnection c = u.openConnection();
            c.setDoInput(false);                   
            c.setDoOutput(true);                
            System.out.println("Connecting...");  
            System.out.flush();                
            c.connect();                          
            PrintWriter out = new PrintWriter(new OutputStreamWriter(c.getOutputStream()));
            out.println("From: \"" + from + "\" <" +
                     System.getProperty("user.name") + "@" + 
                     InetAddress.getLocalHost().getHostName() + ">");
            out.println("To: " + to);
            out.println("Subject: " + subject);
            out.println();       System.out.println("Enter the message. " + 
                     "End with a '.' on a line by itself.");
            String line;
            for(;;) {
                line = in.readLine();
                if ((line == null) || line.equals(".")) break;
                out.println(line);
            }
            out.close();
            System.out.println("Message sent.");
            System.out.flush();
        }
        catch (Exception e) { 
            System.err.println(e);
            System.err.println("Usage: java SendMail [<mailhost>]");
        }
    }
}
a1包;
导入java.io.*;
导入java.net。*;
公共a4级{
公共静态void main(字符串[]args){
试试{
如果(args.length>=1)System.getProperties().put(“mail.host”,args[0]);
BufferedReader in=新的BufferedReader(新的InputStreamReader(System.in));
系统输出打印(“从:”);
字符串from=in.readLine();
系统输出打印(“至:”);
字符串to=in.readLine();
系统输出打印(“主题:”);
字符串subject=in.readLine();
URL u=新URL(“邮件收件人:+to”);
URLConnection c=u.openConnection();
c、 setDoInput(假);
c、 设置输出(真);
System.out.println(“连接…”);
System.out.flush();
c、 connect();
PrintWriter out=新的PrintWriter(新的OutputStreamWriter(c.getOutputStream());
println(“From:\”“+From+”\”);
out.println(“To:+To”);
out.println(“主题:+主题”);
out.println();System.out.println(“输入消息”。+
“在一行上以“.”结束。”);
弦线;
对于(;;){
line=in.readLine();
如果((line==null)| line.equals(“.”)中断;
out.println(行);
}
out.close();
System.out.println(“消息已发送”);
System.out.flush();
}
捕获(例外e){
系统错误println(e);
System.err.println(“用法:JavaSendmail[]);
}
}
}
运行此程序时引发异常。我的输出屏幕如下

    From: skalyanasundaram1994@gmail.com
    To: bharani829@gmail.com
    Subject: hai
    Connecting...
    java.net.UnknownHostException: mailhost
    Usage: java SendMail [<mailhost>]
来自:skalyanasundaram1994@gmail.com
致:bharani829@gmail.com
主题:海
连接。。。
java.net.UnknownHostException:mailhost
用法:javasendmail[]
您在命令行上指定的“mailhost”不是服务器的有效DNS名称


您需要指定愿意在端口25上为您的应用程序提供服务的邮件服务器的名称或IP号。

从您的输出中,它看起来像是您的
邮件。主机默认为
mailhost
,这在您的系统上无法解析。在大多数公司,这类似于
smtp.example.com
,但请与您当地的电子邮件管理员联系,查看哪些内容对您的环境有效。

这看起来确实是一个未知的例外。您使用的邮件主机是什么?@DanW
InetAddress.getLocalHost().getHostName()
您正在尝试从java应用程序发送电子邮件吗?是的,我正在尝试从我的java应用程序发送邮件。。。