我正在尝试使用电子邮件python脚本,并且想知道在编写基于python的电子邮件脚本时它是否不太安全,而不是在登录网页时通过互联网发送凭据时?在下面的脚本中,用户是否明确传递?
import smtplib
from email.mime.text import MIMEText
GMAIL_LOGIN = 'xxxxxx@gmail.com'
GMAIL_PASSWORD = 'amiexposed?'
def send_email(subject, message, from_addr=GMAIL_LOGIN, to_addr=GMAIL_LOGIN):
msg = MIMEText(message)
msg['Subject'] = 'Test message'
msg['From'] = from_addr
msg['To'] = to_addr
server = smtplib.SMTP('smtp.gmail.com',587)
server.ehlo()
server.starttls()
server.ehlo()
server.login(GMAIL_LOGIN,GMAIL_PASSWORD)
server.sendmail(from_addr, to_addr, msg.as_string())
server.close()
if __name__ == '__main__':
send_email('testing email script', 'This is a test message')
Run Code Online (Sandbox Code Playgroud)
这完全取决于如何设置TLS连接.如果您需要有效的证书(我相信如果遇到不受信任的证书,您的startTLS方法将抛出异常(我不确定您应该验证这一点)).但考虑到您正在设置TLS,并通过TLS连接发送所有内容,所有内容都应加密.这意味着您的密码,用户名甚至您的邮件和收件人都不会以纯文本格式发送.
所以不,您的用户名和密码不会发送清楚.