Я пытаюсь отправить электронное письмо с помощью apache james, но электронные письма не отправляются в delievered. Ниже мой код.Отправка электронной почты не работает с использованием Apache James
import java.util.*;
import javax.mail.*;
import javax.mail.internet.*;
public class test {
public static void main(String args[]) throws Exception {
String user = "test";
String password = "test";
String fromAddress = "[email protected]";
String toAddress = "[email protected]";
Properties properties = new Properties();
properties.put("mail.smtp.host", "localhost");
properties.put("mail.smtp.port", "25");
properties.put("mail.smtp.username", user);
properties.put("mail.smtp.password", password);
properties.put("mail.transport.protocol", "smtp");
Session session = Session.getDefaultInstance(properties, null);
try
{
Message message = new MimeMessage(session);
message.setFrom(new InternetAddress(fromAddress));
message.setRecipients(Message.RecipientType.TO, InternetAddress.parse(toAddress));
message.setSubject("Email from our JAMEs");
message.setText("hiiiiii!!");
Transport.send(message);
System.out.println("Email sent");
}
catch (MessagingException e)
{
e.printStackTrace();
}
}
}
Также тестовый пользователь добавлен в apache james с паролем. Прошу вас любезно помочь мне в том же.
На самом деле у вас есть почтовое реле, работающее на 'localhost'? – Perception
Ну, если вы еще не знаете, то ответ, вероятно, нет. Но вы можете протестировать по telneting на localhost, порт 25. Если есть один запуск, вы сможете подключиться, и он должен напечатать имя почтового сервера. Убедитесь, что локальное эхо включено в командной оболочке. – Perception
Кроме того, вы можете попробовать поставить предложение try/catch во весь основной метод, чтобы проверить, не выбрасываются ли какие-либо исключения. –