Ниже приведен простой тестовый класс, который я написал для отправки электронной почты с использованием 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();
}
}
}