如何使用Java mail获取未回复邮件?

如何使用Java mail获取未回复邮件?,java,email,jakarta-mail,flags,Java,Email,Jakarta Mail,Flags,我试过了 ft = new FlagTerm(new Flags(Flags.Flag.ANSWERED), false); 从收件箱获取未回复邮件列表,但返回收件箱中的所有邮件 message.isSet(Flags.Flag.ANSWERED); 也提供相同的输出 如何从收件箱中列出已阅读但未回复的邮件?您使用IMAP吗?如果不行,这就行不通了 当您回复邮件时,邮件阅读器可以在邮件上设置应答标志。一些邮件阅读器可能不会这样做。您使用的是什么邮件阅读器?下载JavaMail API并确保相

我试过了

ft = new FlagTerm(new Flags(Flags.Flag.ANSWERED), false);
从收件箱获取未回复邮件列表,但返回收件箱中的所有邮件

message.isSet(Flags.Flag.ANSWERED);
也提供相同的输出


如何从收件箱中列出已阅读但未回复的邮件?

您使用IMAP吗?如果不行,这就行不通了


当您回复邮件时,邮件阅读器可以在邮件上设置应答标志。一些邮件阅读器可能不会这样做。您使用的是什么邮件阅读器?

下载JavaMail API并确保相关jar文件位于您的类路径中

使用gmail.com网络界面,您需要将设置blocked更改为unblocked to gmail account。 导入java.util。; 导入javax.mail。; 导入javax.mail.internet.*

公共班机{

private static String USER_NAME = "*****";  // GMail user name (just the part before "@gmail.com")
private static String PASSWORD = "********"; // GMail password
private static String RECIPIENT = "lizard.bill@myschool.edu";

public static void main(String[] args) {
    String from = USER_NAME;
    String pass = PASSWORD;
    String[] to = { RECIPIENT }; // list of recipient email addresses
    String subject = "Java send mail example";
    String body = "Welcome to JavaMail!";

    sendFromGMail(from, pass, to, subject, body);
}

private static void sendFromGMail(String from, String pass, String[] to, String subject, String body) {
    Properties props = System.getProperties();
    String host = "smtp.gmail.com";
    props.put("mail.smtp.starttls.enable", "true");
    props.put("mail.smtp.host", host);
    props.put("mail.smtp.user", from);
    props.put("mail.smtp.password", pass);
    props.put("mail.smtp.port", "587");
    props.put("mail.smtp.auth", "true");

    Session session = Session.getDefaultInstance(props);
    MimeMessage message = new MimeMessage(session);

    try {
        message.setFrom(new InternetAddress(from));
        InternetAddress[] toAddress = new InternetAddress[to.length];

        // To get the array of addresses
        for( int i = 0; i < to.length; i++ ) {
            toAddress[i] = new InternetAddress(to[i]);
        }

        for( int i = 0; i < toAddress.length; i++) {
            message.addRecipient(Message.RecipientType.TO, toAddress[i]);
        }

        message.setSubject(subject);
        message.setText(body);
        Transport transport = session.getTransport("smtp");
        transport.connect(host, from, pass);
        transport.sendMessage(message, message.getAllRecipients());
        transport.close();
    }
    catch (AddressException ae) {
        ae.printStackTrace();
    }
    catch (MessagingException me) {
        me.printStackTrace();
    }
}
private static String USER_NAME=“*******”;//GMail用户名(就在“@GMail.com”之前)
私有静态字符串密码=“*******”;//GMail密码
私有静态字符串RECIPIENT=“lizard”。bill@myschool.edu";
公共静态void main(字符串[]args){
字符串from=用户名;
字符串pass=密码;
字符串[]to={RECIPIENT};//收件人电子邮件地址列表
String subject=“Java发送邮件示例”;
String body=“欢迎使用JavaMail!”;
sendFromGMail(from、pass、to、subject、body);
}
私有静态void sendFromGMail(字符串发件人、字符串传递、字符串[]收件人、字符串主题、字符串正文){
Properties props=System.getProperties();
String host=“smtp.gmail.com”;
props.put(“mail.smtp.starttls.enable”、“true”);
props.put(“mail.smtp.host”,host);
props.put(“mail.smtp.user”,from);
props.put(“mail.smtp.password”,pass);
props.put(“mail.smtp.port”,“587”);
props.put(“mail.smtp.auth”,“true”);
Session Session=Session.getDefaultInstance(props);
MimeMessage message=新MimeMessage(会话);
试一试{
message.setFrom(新的InternetAddress(from));
InternetAddress[]toAddress=新的InternetAddress[to.length];
//获取地址数组的步骤
for(int i=0;i

}

是的,我正在使用imap.gmail.com如果您也在使用gmail.com web界面,您可能需要进行实验,看看它在您回复邮件时是否设置了应答标志。