Не може да се свърже с SMTP хост: localhost, порт: 25?

използвам liferay 6 и създадох един персонализиран клас..искам да създам функция за известяване по пощата...написах следния код в моя клас

private void SendEmail(NotificationObject pNotificatonObj,
            String[] pReciepientAddresses) throws MessagingException {

        log.info("In SendMail");
        Properties props = new Properties();
        props.put("mail.debug", "true");
        props.put("mail.smtp.socketFactory.fallback", "false");
        Session session = Session.getInstance(props);
        Message msg = new MimeMessage(session);
        InternetAddress addressFrom = new InternetAddress(
                pNotificatonObj.get_From());
        msg.setFrom(addressFrom);
        // InternetAddress addressTo = new
        // InternetAddress(pNotificatonObj.get_To());

        InternetAddress[] addressTo = new InternetAddress[pReciepientAddresses.length];
        log.info("ADDRESS ARRAY LENGTH In Send Mail: - " + pReciepientAddresses.length);
        for (int i = 0; i < pReciepientAddresses.length; i++) {
            log.info("ADDRESS ARRAY LENGTH In Send Mail: - " + pReciepientAddresses[i]);
            addressTo[i] = new InternetAddress(pReciepientAddresses[i]);
        }
        // log.info("INTERNET ADRESS ARRAY LENGTH : - " + addressTo1.length);
        msg.setRecipients(RecipientType.TO, addressTo);

        // msg.addRecipients(Message.RecipientType.TO, addressTo);
        // Setting the Subject and Content Type
        msg.setSubject(pNotificatonObj.get_Subject());
        msg.setContent(pNotificatonObj.get_HtmlString().toString().toString(),
                "text/html");
        Transport.send(msg);
        log.info("Send Mail Leave");
    }

Написах следните неща в моя root.xml файл на директорията tomcatserver

<Resource
                     name="mail/MailSession"
                     auth="Container"
                     type="javax.mail.Session"
                     mail.imap.host="localhost"
                     mail.pop.host="localhost"
                     mail.store.protocol="imap"
                     mail.transport.protocol="smtp"
                     mail.smtp.host="smtp.gmail.com"
                     mail.smtp.port="465"
                     mail.smtp.auth="true"
                     mail.smtp.starttls.enable="true"
                     mail.smtp.user="[email protected]" //MyEmailId
                     password="*******" //My password
                     mail.smtp.socketFactory.class="javax.net.ssl.SSLSocketFactory"
   />

Но ми дава следната грешка ...може ли някой да ми помогне...къде правя грешка

javax.mail.MessagingException: Could not connect to SMTP host: localhost, port: 25;
  nested exception is:
    java.net.ConnectException: Connection refused: connect

person User 1531343    schedule 08.01.2013    source източник


Отговори (1)


Нито едно от тези свойства, които задавате във вашия root.xml файл, не се използва от вашето приложение.

Трябва да промените приложението си, за да търсите сесията на JavaMail с помощта на JNDI, вместо да го създавате сами с помощта на Session.netInstance, или трябва да промените приложението си, за да зададете всички тези свойства на обекта Properties, който използвате, за да създадете новия обект на сесия .

Не забравяйте да прочетете често задаваните въпроси за JavaMail за често срещани грешки и как да се свържете с Gmail. (Съвет: нямате нужда от свойствата на socketFactory.)

person Bill Shannon    schedule 08.01.2013
comment
Бях направил начина, по който ти каза... бях поставил следния код в моя файл portal-ext-porperties mail.session.jndi.name=mail/MailSession, но пак получих същата грешка - person User 1531343; 09.01.2013
comment
Съжалявам, не разбирам какво направи. Какъв следващ код къде поставихте? Може би бихте могли да публикувате своя актуализиран код и конфигурация, които опитахте? - person Bill Shannon; 09.01.2013