Ai Fabiano, com seus prints do terminal eu consegui descobrir, se liga:
Não é que seu código esteja com problema, é que seu código não está sendo executado pelo python. Se seu código ta num arquivo chamado main.py
você precisa executar ele usando python main.py
(ou python3 main.py
que eu recomendo mais por forçar o uso do python 3.x caso você tenha o python 2.x na sua máquina) sem usar o 'python' no começo seu shell vai executar isso e vai dar problema na palavra chave from
(from
é um nome de uma linha de comando utilitário que printa os nomes de quem enviou um email para o nome de usuario dado, por isso o shell tenta acessar sua caixa de correio).
Outra solução é adicionar a seguinte linha no topo do seu código:
#!/usr/bin/env python
Isso vai instruir seu shell a executar o código via python ao invés de tentar interpretar por si só.
P.S.: Se quiser ler a resposta original em ingles é essa ai, peguei desse post:
No, it's not the script, it's the fact that your script is not executed by Python at all. If your script is stored in a file named script.py, you have to execute it as python script.py, otherwise the default shell will execute it and it will bail out at the from keyword. (Incidentally, from is the name of a command line utility which prints names of those who have sent mail to the given username, so that's why it tries to access the mailboxes).
Another possibility is to add the following line to the top of the script:
#!/usr/bin/env python
This will instruct your shell to execute the script via python instead of trying to interpret it on its own.