通过POP3协议下载任何一个电子邮件服务提供商账户中的电子邮件。
我们要尝试下载用户电子邮件账户中的第一封邮件。用户名在命令行中输入,密码不能在命令行中指定,而是在运行脚本时输入,而且不能显示出来。
import argparse
import getpass
import poplib
GOOGLE_POP3_SERVER = 'pop.outlook.com'
def download_email(username):
mailbox = poplib.POP3_SSL(GOOGLE_POP3_SERVER, '995')
mailbox.user(username)
password = getpass.getpass(prompt="Enter your outlook password: ")
mailbox.pass_(password)
num_messages = len(mailbox.list()[1])
print("Total emails: {}".format(num_messages))
print("Getting last message")
for msg in mailbox.retr(num_messages)[1]:
print msg
mailbox.quit()
if __name__ == '__main__':
parser = argparse.ArgumentParser(description='Email Download Example')
parser.add_argument('--username', action="store", dest="username", default=getpass.getuser())
given_args = parser.parse_args()
username = given_args.username
download_email(username)