Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从InternetAddress打印出发件人的电子邮件地址_Java_Gmail_Jakarta Mail_Gmail Imap - Fatal编程技术网

Java 从InternetAddress打印出发件人的电子邮件地址

Java 从InternetAddress打印出发件人的电子邮件地址,java,gmail,jakarta-mail,gmail-imap,Java,Gmail,Jakarta Mail,Gmail Imap,这是获取电子邮件的发件人和主题的代码。使用此代码,我可以看到显示的主题正确,但可以看到不同格式的发件人地址 Properties props = new Properties(); props.put("mail.imap.host" , "imap.gmail.com" ); props.put("mail.imap.user" , "username"); // User SSL props.put("mail.imap.socketFactory" , 99

这是获取电子邮件的
发件人
主题
的代码。使用此代码,我可以看到显示的主题正确,但可以看到不同格式的发件人地址

Properties props = new Properties();
    props.put("mail.imap.host" , "imap.gmail.com" );
    props.put("mail.imap.user" , "username");
    // User SSL
    props.put("mail.imap.socketFactory" , 993);
    props.put("mail.imap.socketFactory.class" , "javax.net.ssl.SSLSocketFactory" );
    props.put("mail.imap.port" , 993 );
    Session session = Session.getDefaultInstance(props , new Authenticator() {
        @Override
                protected PasswordAuthentication getPasswordAuthentication() {
                        return new PasswordAuthentication("username" , "password");
        }
    });

    try {
      Store store = session.getStore("imap");
      store.connect("imap.gmail.com" , "username" , "password");
      Folder fldr = store.getFolder("Inbox");
      fldr.open(Folder.READ_ONLY);
      Message msgs[] = fldr.getMessages();
        for(int i = 0 ; i < msgs.length ; i++) {
            System.out.println(msgs[i].getFrom() + "<-- FROM" + " " + msgs[i].getSubject() + "<---Subject");
        }
    } catch(Exception exc) {

    }
}
Properties=newproperties();
put(“mail.imap.host”、“imap.gmail.com”);
props.put(“mail.imap.user”、“用户名”);
//用户SSL
props.put(“mail.imap.socketFactory”,993);
put(“mail.imap.socketFactory.class”、“javax.net.ssl.SSLSocketFactory”);
props.put(“mail.imap.port”,993);
Session Session=Session.getDefaultInstance(props,new Authenticator(){
@凌驾
受保护的密码身份验证getPasswordAuthentication(){
返回新密码身份验证(“用户名”、“密码”);
}
});
试一试{
Store Store=session.getStore(“imap”);
store.connect(“imap.gmail.com”、“用户名”、“密码”);
Folder fldr=store.getFolder(“收件箱”);
fldr.打开(文件夹只读);
Message msgs[]=fldr.getMessages();
对于(int i=0;iSystem.out.println(msgs[i].getFrom()+“的
getForm()
返回一个对象。若要将其打印为普通字符串,请尝试
InternetAddress.toString(msgs[i].getFrom())
在您的
系统中.out
之所以这样做,是因为您只需打印
InternetAddress
实例,该实例没有
toString()
方法。然后它默认为
对象.toString()
,这主要用于查看对象是否不同


考虑明确地挑选出您希望在打印语句中看到的字段。

您应该使用。您看到的是
InternetAddress
对象(类名+哈希代码)的
toString
结果。

我花了几分钟才发现这个简单的代码:


System.out.println(“接收自”+((InternetAddress)((Address)(message.getFrom()[0])).getAddress());

我执行此操作时出错。它说找不到符号方法
getAddress()
这很奇怪,无意冒犯,但请确保您没有输入错误。您能显示代码的这一部分吗?嗨!对我来说也是它的给定错误。似乎这已经被弃用了!
[Ljavax.mail.internet.InternetAddress;@1462851<-- FROMGet Gmail on your mobile phone<---Subject
[Ljavax.mail.internet.InternetAddress;@bdab91<-- FROMImport your contacts and old email<---Subject
[Ljavax.mail.internet.InternetAddress;@4ac00c<-- FROMCustomize Gmail with colors and themes<---Subject
[Ljavax.mail.internet.InternetAddress;@1865b28<-- FROMtester<---Subject