javamail发送邮件失败问题?

这是报的异常:信息: Initializing c3p0 pool... com.mchange.v2.c3p0.ComboPooledDataSource [ acquireIncrement -> 3, acquireRetryAttempts -> 30, acquireRetryDelay -> 1000, autoCommitOnClose -> false, automaticTestTable -> null, breakAfterAcquireFailure -> false, checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> z8kflt9u1dxx2q1feu2jv|1127b52, debugUnreturnedConnectionStackTraces -> false, description -> null, driverClass -> com.mysql.jdbc.Driver, factoryClassLocation -> null, forceIgnoreUnresolvedTransactions -> false, identityToken -> z8kflt9u1dxx2q1feu2jv|1127b52, idleConnectionTestPeriod -> 0, initialPoolSize -> 3, jdbcUrl -> jdbc:mysql:///estoresystem, maxAdministrativeTaskTime -> 0, maxConnectionAge -> 0, maxIdleTime -> 0, maxIdleTimeExcessConnections -> 0, maxPoolSize -> 15, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 3, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, preferredTestQuery -> null, properties -> {user=******, password=******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> false, unreturnedConnectionTimeout -> 0, usesTraditionalReflectiveProxies -> false ]
javax.mail.MessagingException: Unknown SMTP host: smtp.qq.com;
nested exception is:
java.net.UnknownHostException: smtp.qq.com
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1932)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:638)
at javax.mail.Service.connect(Service.java:317)
at javax.mail.Service.connect(Service.java:176)
at javax.mail.Service.connect(Service.java:125)
at javax.mail.Transport.send0(Transport.java:194)
at javax.mail.Transport.send(Transport.java:124)
at cn.itcast.estore.utils.MailUtils.sendMail(MailUtils.java:50)
at cn.itcast.estore.service.UserServiceImpl.regist(UserServiceImpl.java:33)
at cn.itcast.estore.web.servlet.UsersServlet.regist(UsersServlet.java:78)
at cn.itcast.estore.web.servlet.UsersServlet.doGet(UsersServlet.java:32)
at cn.itcast.estore.web.servlet.UsersServlet.doPost(UsersServlet.java:98)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.net.UnknownHostException: smtp.qq.com
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:177)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
at java.net.Socket.connect(Socket.java:519)
at java.net.Socket.connect(Socket.java:469)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:288)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:231)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1900)
... 25 more

这是我写的一个工具类代码:
public class MailUtils {

public static void sendMail(String email, String emailMsg)
        throws AddressException, MessagingException {
    // 1.创建一个程序与邮件服务器会话对象 Session

    Properties props = new Properties();
    props.setProperty("mail.transport.protocol", "SMTP");
    props.setProperty("mail.host", "smtp.qq.com");
    props.setProperty("mail.smtp.auth", "true");// 指定验证为true

    // 创建验证器
    Authenticator auth = new Authenticator() {
        public PasswordAuthentication getPasswordAuthentication() {
            return new PasswordAuthentication("312476956@qq.com", "SN19900103");
        }
    };

    Session session = Session.getInstance(props, auth);

    // 2.创建一个Message,它相当于是邮件内容
    Message message = new MimeMessage(session);

    message.setFrom(new InternetAddress("312476956@qq.com")); // 设置发送者

    message.setRecipient(RecipientType.TO, new InternetAddress(email)); // 设置发送方式与接收者

    message.setSubject("用户激活");
    // message.setText("这是一封激活邮件,请<a href='#'>点击</a>");

    message.setContent(emailMsg, "text/html;charset=utf-8");

    // 3.创建 Transport用于将邮件发送

    Transport.send(message);
}

}
求大神们帮忙看一下?我感觉代码应该是没问题,是不是我哪里没开启什么服务还是什么其他的问题?

阿里云的话,直接联系下客服,smtp.qq.com这个地址不能解析,看下是不是端口没有打开,或者你的dns设置有问题。
你将dns设置为8.8.8.8看看。

//开启ssl加密(并不是所有的邮箱服务器都需要,但是qq邮箱服务器是必须的)

   public static void main(String[] args) throws GeneralSecurityException, MessagingException {

                // TODO Auto-generated method stub

                //用于读取配置文件

                Properties props=new Properties();

                //开启Debug调试

                props.setProperty("mail.debug", "true");

                //发送服务器需要身份验证

                props.setProperty("mail.smtp.auth", "true");

                //发送邮件服务器的主机名

                props.setProperty("mail.host", "smtp.qq.com");

                //发送邮件协议

                props.setProperty("mail.transport.protocol", "smtp");

                //开启ssl加密(并不是所有的邮箱服务器都需要,但是qq邮箱服务器是必须的)

                MailSSLSocketFactory msf= new MailSSLSocketFactory();

                msf.setTrustAllHosts(true);

                props.put("mail.smtp.ssl.enable", "true");

                props.put("mail.smtp.ssl.socketFactory",msf);

                //获取Session会话实例(javamail Session与HttpSession的区别是Javamail的Session只是配置信息的集合)

                Session session=Session.getInstance(props,new javax.mail.Authenticator(){

                        protected PasswordAuthentication getPasswordAuthentication(){

                                //用户名密码验证(取得的授权吗)

                                Return new PasswordAuthentication ("78162328@qq.com","vdqnguiiafwhbiai");

                        }

                });

                //抽象类MimeMessage为实现类  消息载体封装了邮件的所有消息

                Message message=new MimeMessage(session);

                //设置邮件主题

                message.setSubject("这是主题");

                //封装需要发送电子邮件的信息

                message.setText("这是一封简单的电子邮件");

                //设置发件人地址

                message.setFrom(new InternetAddress("78162328@qq.com"));

                //此类的功能是发送邮件 又会话获得实例

                Transport transport=session.getTransport();

                //开启连接

                transport.connect();

                //设置收件人地址邮件信息

                transport.sendMessage(message, new Address[]{new InternetAddress("78162328@qq.com")});

                //邮件发送后关闭信息

                transport.close();

        }


}