LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2320|回复: 14

Could not connect SMTP host

[复制链接]
发表于 2004-7-16 18:35:49 | 显示全部楼层 |阅读模式
1  RegisterViewBean.java
[php]
/*
* Created on 2004-7-16
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package mail;

/**
* @author yzq
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/

public class RegisterViewBean
{
        private String USER_ID;
        private String PASSWORD;
        private String COMPANY_NAME;
        private String CONTACT_PERSON;
        private String PHONE;
        private String FAX;
        private String AREA_CODE;
        private String COUNTRY_CODE;
        private String GENDER;
        private String EMAIL;
        private String HOMEPAGE_URL;
        private String POSTCODE;
        private String ADDRESS;
       
        public RegisterViewBean(){}
       
        public RegisterViewBean(String USER_ID,String PASSWORD,String COMPANY_NAME,String CONTACT_PERSON,String PHONE,String FAX,String AREA_CODE,String COUNTRY_CODE,String GENDER,String EMAIL,String HOMEPAGE_URL,String POSTCODE,String ADDRESS)
        {
                this.USER_ID = USER_ID;
                this.PASSWORD = PASSWORD;
                this.COMPANY_NAME = COMPANY_NAME;
                this.CONTACT_PERSON = CONTACT_PERSON;
                this.PHONE = PHONE;
                this.FAX = FAX;
                this.AREA_CODE = AREA_CODE;
                this.COUNTRY_CODE = COUNTRY_CODE;
                this.GENDER = GENDER;
                this.EMAIL = EMAIL;
                this.HOMEPAGE_URL = HOMEPAGE_URL;
                this.POSTCODE = POSTCODE;
                this.ADDRESS = ADDRESS;
        }
       
        public String getUSER_ID()
        {
                return USER_ID;
        }
       
        public void setUSER_ID(String value)
        {
                USER_ID = value;
        }
       
        public String getPASSWORD()
        {
                return PASSWORD;
        }
       
        public void setPASSWORD(String value)
        {
                PASSWORD = value;
        }
       
        public String getCOMPANY_NAME()
        {
                return COMPANY_NAME;
        }
       
        public void setCOMPANY_NAME(String value)
        {
                COMPANY_NAME = value;
        }
       
        public String getCONTACT_PERSON()
        {
                return CONTACT_PERSON;
        }
       
        public void setCONTACT_PERSON(String value)
        {
                CONTACT_PERSON = value;
        }
       
        public String getPHONE()
        {
                return PHONE;
        }
       
        public void setPHONE(String value)
        {
                PHONE = value;
        }
       
        public String getFAX()
        {
                return FAX;
        }
       
        public void setFAX(String value)
        {
                FAX = value;
        }
       
        public String getAREA_CODE()
        {
                return AREA_CODE;
        }
       
        public void setAREA_CODE(String value)
        {
                AREA_CODE = value;
        }
       
        public String getCOUNTRY_CODE()
        {
                return COUNTRY_CODE;
        }
       
        public void setCOUNTRY_CODE(String value)
        {
                COUNTRY_CODE = value;
        }
       
        public String getGENDER()
        {
                return GENDER;
        }
       
        public void setGENDER(String value)
        {
                GENDER = value;
        }
       
        public String getEMAIL()
        {
                return EMAIL;
        }
       
        public void setEMAIL(String value)
        {
                EMAIL = value;
        }
       
        public String getHOMEPAGE_URL()
        {
                return HOMEPAGE_URL;
        }
       
        public void setHOMEPAGE_URL(String value)
        {
                HOMEPAGE_URL = value;
        }
       
        public String getPOSTCODE()
        {
                return POSTCODE;
        }
       
        public void setPOSTCODE(String value)
        {
                POSTCODE = value;
        }
       
        public String getADDRESS()
        {
                return ADDRESS;
        }
       
        public void setADDRESS(String value)
        {
                ADDRESS = value;
        }
}

[/php]

2  Register.java
[php]
/*
* Created on 2004-7-16
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package mail;

/**
* @author yzq
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
import java.io.*;
//import java.util.*;
public class Register
{
        RegisterViewBean rvb = new RegisterViewBean();
        String[] info ={
                "USER_ID:",
                "ASSWORD",
                "COMPANY_NAME:",
                "CONTACT_PERSON:",
                "HONE:",
                "FAX:",
                "AREA_CODE:",
                "COUNTRY_CODE:",
                "GENDER:",
                "EMAIL:",
                "HOMEPAGE_URL:",
                "OSTCODE:",
                "ADDRESS:"
        };
       
        public static void main(String args[])
        {
                new Register().regist();
        }
       
        public void regist()
        {
                int i = 0;
                String userInput;
                for(i=0;i<info.length;i++)
                {
                        System.out.println(info);
                        BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
                        try
                        {
                                while((userInput = stdIn.readLine()) != null)
                                {
                                        setRVB(i,userInput);
                                        System.out.println("register"+info+userInput);
                                        break;
                                }
                        }
                        catch(IOException e)
                        {
                                e.printStackTrace();
                        }
                }
                System.out.println(rvb.getUSER_ID()+"has success register,mail will be send...");
                new Msgsend(rvb).sendMsg("admin@yzq.com",rvb.getEMAIL());
        }
       
        public void setRVB(int i,String s)
        {
                switch(i)
                {
                        case 0: rvb.setUSER_ID(s);
                        case 1: rvb.setPASSWORD(s);
                        case 2: rvb.setCOMPANY_NAME(s);
                        case 3: rvb.setCONTACT_PERSON(s);
                        case 4: rvb.setPHONE(s);
                        case 5: rvb.setFAX(s);
                        case 6: rvb.setAREA_CODE(s);
                        case 7: rvb.setCOUNTRY_CODE(s);
                        case 8: rvb.setGENDER(s);
                        case 9: rvb.setEMAIL(s);
                        case 10: rvb.setHOMEPAGE_URL(s);
                        case 11: rvb.setPOSTCODE(s);
                        case 12: rvb.setADDRESS(s);
                }
        }
}

[/php]

3  Msgsend.java
[php]
/*
* Created on 2004-7-16
*
* TODO To change the template for this generated file go to
* Window - Preferences - Java - Code Style - Code Templates
*/
package mail;

/**
* @author yzq
*
* TODO To change the template for this generated type comment go to
* Window - Preferences - Java - Code Style - Code Templates
*/
//import java.io.*;
import java.text.*;
//import java.net.InetAddress;
import java.util.Properties;
import java.util.Date;
import javax.mail.*;
import javax.mail.internet.*;

public class Msgsend
{
        String subject = null;
        String Text = null;
        String mailhost = null;
       
        public Msgsend(RegisterViewBean rb)
        {
                mailhost = "localhost";
                Text = getUserText(rb);
                subject = "欢迎光临";
        }
       
        public String sendMsg(String from,String to)
        {
                boolean debug = false;
                String err = null;
                try
                {
                        Properties props = System.getProperties();
                        if(mailhost != null)
                        {
                                props.put("mail.smtp.host",mailhost);
                        }
                        Session session = Session.getDefaultInstance(props,null);
                        if(debug)
                        {
                                session.setDebug(true);
                        }
                        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));
                        msg.setSubject(subject);
                        msg.setText(Text);
                        msg.setSentDate(new Date());
                        Transport.send(msg);
                        System.out.println("Mail was sent successfully!");
                }
                catch(Exception e)
                {
                        e.printStackTrace();
                        err = e.toString();
                        err = "注册成功,但是邮件服务出现故障,Email:"+to;
                }
                return err;
        }
       
        public String getUserText(RegisterViewBean rb)
        {
                String userText = "";
                String nowDate = DateFormat.getDateInstance().format(new Date());
                userText = rb.getCONTACT_PERSON()+"先生/小姐:\n"
                           +"您好!\n        欢迎您注册为傲雪寒梅网的用户,以下是您的注册资料.\n"
                                   +"公司名称:"+rb.getCOMPANY_NAME()+"\n"
                                   +"联系人:"+rb.getCONTACT_PERSON()+"\n"
                                   +"电话:"+rb.getPHONE()+"\n"
                                   +"地址:"+rb.getADDRESS()+"\n"
                                   +"邮编:"+rb.getPOSTCODE()+"\n"
                                   +"用户名:"+rb.getUSER_ID()+"\n"
                                   +"你的密码是:"+rb.getPASSWORD()+"\n"
                                   +"傲雪寒梅网络公司";
                return userText;
        }
}

[/php]

编译没问题,但是运行却说Could not connect SMTP host
这个问题是自己的原因还是其他?望大家指点,谢谢

注:
请注意发贴标题
 楼主| 发表于 2004-7-16 18:50:50 | 显示全部楼层

re

props.put("mail.smtp.auth","true");
props.put("mail.smtp.user",username);
props.put("mail.smtp.password",password);

auth和user有什么区别???
发表于 2004-7-16 20:09:36 | 显示全部楼层
邮件,不清楚。。
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
            try
            {
                while((userInput = stdIn.readLine()) != null)
                {
                   。。。
                }
            }
            catch(IOException e)
            {
                e.printStackTrace();
            }
        这一段,很经典。。。
发表于 2004-7-16 20:25:10 | 显示全部楼层
首先是不是应该检查你的smtp服务器是不是可用??
 楼主| 发表于 2004-7-17 01:01:52 | 显示全部楼层

re

经典吗?是我写的哦 我的服务器是james,是启动成功了的,编译成功可是运行抛异常。。。。。。
我在好好想想,希望大家也帮帮我,谢谢了
发表于 2004-7-17 11:08:31 | 显示全部楼层
贴出异常
页面异常和catalog(你是用的tomcat吗,,,服务器log)
 楼主| 发表于 2004-7-19 08:38:14 | 显示全部楼层

re

所抛异常是
javax.mail.SendFailedException:Sending failed; nested exception is:
class javax.mail.MessagingException:Could not connect to SMTP host:localhost,port:25;
nested exception is:
                                   java.net.ConnectException:Connection refused
发表于 2004-7-19 09:03:23 | 显示全部楼层
JavaMail API 是一个用于阅读、编写和发送电子邮件的可选包(标准扩展)。与 Eudora、pine 及 Microsoft Outlook 相似,这个包用来创建邮件用户代理(Mail User Agent,MUA) 类型程序。API 的主要用途并不在于传输、发送和转发消息;这一功能范围属于某些应用程序,如 sendmail 及其它邮件传输代理(Mail Transfer Agent,MTA)类型程序。MUA 类型的程序能让用户阅读和书写邮件,而它却依赖 MTA 处理实际发送。
 楼主| 发表于 2004-7-19 09:51:31 | 显示全部楼层

re

谢谢!!! 我要怀疑是否邮件服务器有问题,老是无法连接
发表于 2004-7-19 10:05:02 | 显示全部楼层
考虑没有考虑服务器的认证问题?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表