在使用Python的smtplib
时,如何避免违反Gmail的使用条款?
我想用Python发送内部电子邮件。在与gmailapi抗争了两天之后,我放弃了。然后我找到了smtplib
模块,它看起来简单而有前途
遵循示例here,我编写了一小段Python代码:
import smtplib
# Details of where to send FROM
emailUser = 'an.account.I.made.just.for this.test@gmail.com'
emailPassword = 'password123'
# Send the following message to an address...
message = '[ I am email content ]'
toAddress = 'test.victim@gmail.com'
# Define the HEADER (to, from, and subject)
header = """
To: %s
From: %s
Subject: Python SMTPLIB Test
"""
header = header % (toAddress, emailUser)
# [ Don't know what this does ]
smtpserver = smtplib.SMTP("smtp.gmail.com",587)
smtpserver.ehlo()
smtpserver.starttls()
smtpserver.ehlo
# Use User/Password credentials to send email
smtpserver.login(emailUser, emailPassword)
smtpserver.sendmail(emailUser, toAddress, message)
smtpserver.close()
我执行了这个脚本。看来谷歌的算法一定是把这个解读为恶意发送,并迅速关闭了我的账户!这很公平,因为我确信smtplib
很容易被滥用。然而,我有诚实的意图,但我不知道如何绕过这个问题:在使用Python的smtplib
时,如何避免违反Gmail的使用条款?
这可能是因为你不分青红皂白地与EHLO建立联系,你应该使用HELO
如果服务器支持EHLO,那么客户机可以使用EHLO而不是HELO作为其第一个请求。 另一方面,如果服务器不支持EHLO,而客户机发送EHLO,则服务器将拒绝EHLO。然后,客户必须回到直升机上
有一些服务器在看到EHLO时会断开连接。如果客户端发现既不接受EHLO也不接受HELO,例如因为连接已关闭,那么它必须建立新连接并从HELO开始
相关问题 更多 >
编程相关推荐