我对python还很陌生,所以我需要很多帮助:)我对此有问题:

elif(command == "email" or command == "Email"):
    server = smtplib.SMTP('smtp.gmail.com', 587)
    euser = input("Enter Gmail Username: ")
    epass = input("Enter Gmail Password: ")
    server.login(euser, epass)
    msginput = input("Enter Message: ")
    msg = ("\n"+msginput)
    sourcemail = input("Enter Your Email: ")
    targetemail = input("Enter Your Recipient: ")
    server.sendmail(sourcemail, targetemail, msg)

所有这些都可能是错误的。但是,在我输入gmail用户名和密码后,它会给出:
Traceback (most recent call last):
  File "/Users/19austinh/Google Drive/Other/Python/Login.py", line 145, in <module>
    server.login(euser, epass)
  File "/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/smtplib.py", line 595, in login
    raise SMTPException("SMTP AUTH extension not supported by server.")
smtplib.SMTPException: SMTP AUTH extension not supported by server.

我不知道怎么解决。还有,我的剧本对吗?如果没有,请告诉我该怎么做。如有任何答案,敬请谅解:)
编辑:
另外,你如何进行主题输入?所以我要补充一点:
subjectinput = input("Enter Subject: ")


smtplib.subject = ("\n"+subjectinput)

还是什么?因为我那样做的时候它不会发邮件。

最佳答案

根据Gmail APIs documentation
传出的SMTP服务器SMTP.gmail.com需要TLS。使用端口465,
或端口587,如果您的客户端在发出
STARTTLS命令。
starttls之前呼叫login

smtp = smtplib.SMTP('smtp.gmail.com', 587)
smtp.starttls() # <---------
smtp.login(username, password)

关于python - 如何解决与Gmail建立网络中的错误以及如何使电子邮件发件人? - python ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22113050/

10-15 08:50