I'm using Mail.dll to get emails from POP3.
I notice that I can only get unread email only. I use Pop3.GetAll() method to get email. Is it caused from GetAll() method or POP3 Server?
POP3 protocol does not have a notion of unread emails. It depends on the server, but some servers (e.g. Gmail) remove emails from POP3 when they are downloaded once.
You can read more about Gmail's POP3 behavior here: https://www.limilabs.com/blog/gmail-pop3-behavior
Please use IMAP for greater control.