javamail本地发送邮件成功,部署到服务器上发送邮件报错

javamail本地发送邮件成功,部署到服务器上发送邮件报错can't send command to
SMTP host 这是为什么?求请教!

你的服务器能连外网吗

此服务器不接受未加密的连接
http://stackoverflow.com/questions/6740838/javamail-issue-cant-send-command-to-smtp-host

1,Check whether your JAVA_HOME setting is right on the server.
2,Try the setting below.
JAVA_OPTS="$JAVA_OPTS -Djavax.net.ssl.trustStore=$JAVA_HOME/jre/lib/security/cacerts -Djavax.net.ssl.trustStorePassword=changeit"

It would be appreciated if you share codes and exception messages for us to give you more useful advice.

这是报错的原因图片说明
Properties props = new Properties();
// 发送服务器需要身份验证
props.setProperty("mail.smtp.auth", "true");
//props.setProperty("mail.host", "smtp.qq.com");
props.setProperty("mail.host", "smtp.mail.yahoo.com");
// 发送邮件协议名称
props.setProperty("mail.transport.protocol", "smtp");

        props.setProperty("mail.sender.user", *********);
        props.setProperty("mail.sender.auth", **********);

        MailSSLSocketFactory sf = new MailSSLSocketFactory();
        sf.setTrustAllHosts(true);
        props.put("mail.smtp.ssl.enable", "true");
        props.put("mail.smtp.ssl.socketFactory", sf);

        Session session = Session.getInstance(props);

        Message msg = new MimeMessage(session);
        msg.setSubject(mailSubject);  
        msg.setContent(mailContent, "text/html;charset=gb2312");
        msg.setFrom(new InternetAddress(props.getProperty("mail.sender.user")));
        Address[] receivers = new Address[mailReceivers.length];
        for(int i = 0; i < mailReceivers.length; i++){
            receivers[i] = new InternetAddress(mailReceivers[i]);
        }
        Transport transport = session.getTransport();
        try{
            transport.connect(props.getProperty("mail.host"), props.getProperty("mail.sender.user"), props.getProperty("mail.sender.auth"));//这里是发送人的账号 后面是授权码
            transport.sendMessage(msg, receivers); //这里是接收人的账号
        }finally{
            transport.close();
        }

邮箱账号设置里面,开启 POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

服务器上ping一下smtp 服务器看看是否能连接

本地传送不需要网上邮件传送协议,服务器上就需要了