0

私は、javamailapiを使用して自分の電子メールにアクセスするためのオラクルのチュートリアルに取り組んでいます。これが私のコードです:

 import javax.mail.*;
 import javax.mail.internet.*;
 import java.util.Scanner;
 import java.util.Properties;

 public class MailClient {
    public static void main(String[] args) {
    Properties props = new Properties();
    Session session = Session.getDefaultInstance(props, null);


    Store store = session.getStore("pop3");
    store.connect("pop.gmail.com","email@gmail.com","password");

    Folder folder = store.getFolder("INBOX");
    folder.open(Folder.READ_ONLY);
    Message message[] = folder.getMessages();
    int i = message.length;
    for (int a=0;a<i;a++) {
        System.out.println(message[i].writeTo());
    }
    Scanner pause = new Scanner(System.in);
    folder.close(false);
    store.close();
}
}

そして、これが私が受け取っているエラーです:

MailClient.java:20 error: method writeTo in interface Part cannot be applied to given types;
System.out.println(message[i].writeTo());
required: OutputStream
found: no arguments
reason: actual and formal argument lists differ in length
1 error

私が間違っていることは何ですか?

また、Googleのページで、ユーザーがPOP3経由で接続するにはSSLを使用する必要があると述べています。これをJavaMailAPIにどのように実装しますか?ありがとう!

4

2 に答える 2

3

示されているように、エラーは

System.out.println(message[i].writeTo());

2つの問題があります:

  1. Message.writeTo()は、引数としてOutputStreamを取りますが、指定していません。

  2. writeTo()はvoidを返すため、println()の有効な引数ではありません

POP3とSSLを使用して、JavaMailAPIを介してGMailに接続するサンプルコードを次に示します。

于 2012-10-19T03:39:45.040 に答える
1

message [i] .writeTo(System.out);

于 2012-10-19T04:21:01.783 に答える