如何使用来自@ outlook.com的java邮件发送电子邮件?

时间:2013-10-09 05:35:46

标签: java android javamail outlook.com

我正在构建一个Android应用程序。我想发送xxxxx@outlook.com的电子邮件。这是代码。

  public void setUp
      {
       Properties props = new Properties();
       props.setProperty("mail.transport.protocol", "smtp");
       props.put("mail.smtp.auth", "true");
       this.mailhost = "smtp.live.com";
       props.setProperty("mail.host", mailhost);
       props.put("mail.smtp.port", "587");
       props.setProperty("mail.smtp.starttls.enable", "true");
    }

我知道用户应该是整个电子邮件地址。但是当我使用时,我收到了一封电子邮件,说我应该在发送电子邮件之前开始会话。

此代码工作3次然后停止。

2 个答案:

答案 0 :(得分:0)

调试输出显示什么?什么是确切的错误消息?你收到的电子邮件到底是什么意思?您可能需要连接POP3或IMAP才能阅读邮件,然后才能发送邮件。

答案 1 :(得分:0)

您应该从Javamail获取会话,以创建您的消息。然后,使用传输对象,您可以发送它。

String host = "localhost";
int port = 443;
String user = "BruceWayne@example.org";
String password = "S3cr3tP4ss";
Session session = Session.getDefaultInstance(props);
session.setDebug(true);

Message msg = new MimeMessage(session);

msg.setFrom(new InternetAddress(user, "Dark Knight"));
msg.setSubject("Hello Selina");
msg.setText("Do you want to have diner ?");
Transport transport = session.getTransport("smtp");
transport.connect(host, port, user, password);
transport.sendMessage(msg, msg.getAllRecipients());