Отправка электронной почты с Java - PullRequest
0 голосов
/ 23 февраля 2012

Ниже приведен простой тестовый класс, который я написал для отправки электронной почты с использованием Java. Я пытаюсь отправить сообщение с моего локального хоста. Но я получаю следующее сообщение об ошибке:

javax.mail.MessagingException: Unknown SMTP host: http://localhost:8080/;
nested exception is:
java.net.UnknownHostException: http://localhost:8080/
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1280)

Я изменил значение хоста на "localhost", но у меня возникла та же проблема. Есть идеи по исправлению? Будет ли работать настоящий сервер?

import java.util.Properties;
import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;    

public class MyEmail {

public static void main(String... args) {
    String to = "me@email.com";
    String from = "other@email.com";
    String host = "http://localhost:8080/";

    Properties properties = System.getProperties();
    properties.setProperty("mail.smtp.host",host);
    Session session = Session.getDefaultInstance(properties);

    try{
        MimeMessage message = new MimeMessage(session);
        message.setFrom(new InternetAddress(from));
        message.addRecipient(Message.RecipientType.TO,new InternetAddress(to));
        message.setSubject("This is a subject");
        message.setText("The text is what it is the text");
        Transport.send(message);
        System.out.println("Successful");
    }catch(MessagingException mx){
        mx.printStackTrace();
    }
}
}

Ответы [ 2 ]

3 голосов
/ 23 февраля 2012

Значение хоста должно быть просто именем хоста или IP-адресом. Это не HTTP.

Чтобы установить порт, присвойте свойству mail.smtp.port номер порта (в виде строки)

0 голосов
/ 23 февраля 2012

Вам необходим работающий почтовый (SMTP) сервер на хосте, который вы указали для отправки любых сообщений.Хост соответствует адресу SMTP-сервера (без http: //), а порт соответствует настроенному порту SMTP.Что касается вашей проблемы, существует проблема с установлением соединения с SMTP-сервером. Убедитесь, что вы исправили свои параметры для хоста и порта в соответствии с запущенным сервером smtp и повторите попытку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...