我正在尝试使用以下代码通过Apache James发送电子邮件:
我遇到了以下异常:
public static void main(String[] args)
{
String user = "sumit"; // Newly created user on JAMES
String password = "sumit"; // user password
String fromAddress = "sumit@localhost"; // newlycreateduser@localhost
String toAddress = "sumitjain91@gmail.com";
// Create a mail session
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);
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 Server");
message.setText("Luke, I'm your father!!");
Transport.send(message);
System.out.println("Email sent successfully");
}
catch (MessagingException e)
{
e.printStackTrace();
}
}
我遇到了以下异常:
javax.mail.NoSuchProviderException: smtp
at javax.mail.Session.getService(Session.java:784)
at javax.mail.Session.getTransport(Session.java:720)
at javax.mail.Session.getTransport(Session.java:660)
at javax.mail.Session.getTransport(Session.java:640)
at javax.mail.Session.getTransport(Session.java:697)
at javax.mail.Transport.send0(Transport.java:192)
at javax.mail.Transport.send(Transport.java:124)
at mail.Main.main(Main.java:44)
请帮忙
telnet localhost 25
发生了什么?从控制台运行 James 呢?是./james console
还是./james help
(至少对于 James3)? - Thufir