我想用smtplib制作smtp登录模块。我使用pyinstaller使它成为可执行文件。当我在创建该程序的计算机上运行它时,它可以工作。但是,当我在另一台未安装Python的计算机上运行它时,会出现一些错误。 我将数据发送到argv。问题是什么? 我做到了python 3.6.4。然后通过
将其制作为可执行文件pyinstaller .\login.py -F --onefile
命令。
from email.mime.text import MIMEText
import sys
import smtplib
if sys.argv[1] == '1':
smtp = smtplib.SMTP_SSL('smtp.naver.com', 465)
#print('logint naver')
#msg_from = entry_login_id.get()+'@naver.com'
elif sys.argv[1] == '2':
smtp = smtplib.SMTP_SSL('smtp.gmail.com', 465)
#msg_from = entry_login_id.get()+'@gmail.com'
try:
smtp.login(sys.argv[2], sys.argv[3])
except:
print('Error')
我命令时
PS> .\login.exe 2 MYID MYPASSWORD
Traceback (most recent call last):
File "login.py", line 6, in <module>
File "smtplib.py", line 1030, in __init__
File "smtplib.py", line 261, in __init__
File "socket.py", line 673, in getfqdn
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 0: invalid start byte
[14084] Failed to execute script login1