我正在尝试通过Gmail发送Python电子邮件.这是我的代码:
import smtplib
fromaddr = '......................'
toaddrs = '......................'
msg = 'Spam email Test'
username = '.......'
password = '.......'
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(username, password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Traceback (most recent call last):
File "email_send.py", line 18, in <module>
server.login(username, password)
File "C:\.....\Python\lib\smtplib.py", line 633
, in login
raise SMTPAuthenticationError(code, resp)
smtplib.SMTPAuthenticationError: (535, b'5.7.8 Username and Password not accepte
d. Learn more at\n5.7.8 http://support.google.com/mail/bin/answer.py?answer=1425
7\n5.7.8 {BADCREDENTIALS} s10sm9426107qam.7 - gsmtp')
Run Code Online (Sandbox Code Playgroud)
这似乎是登录的问题.我确信我的登录详细信息是正确的,除了一件事.用户名应该是"blah@gmail.com",还是只是"等等"?我试过两个,同样的错误.
有什么想法错了吗?
注意:所有句点都代替密码/电子邮件/文件路径/等.
我想用Python发送一封电子邮件:
import smtplib
fromaddr = '......................'
toaddrs = '......................'
msg = 'Spam email Test'
username = '.......'
password = '.......'
server = smtplib.SMTP('smtp.gmail.com', 587)
server.ehlo()
server.starttls()
server.login(username, password)
server.sendmail(fromaddr, toaddrs, msg)
server.quit()
Run Code Online (Sandbox Code Playgroud)
我知道这可能不是正确的消息格式.
无论如何,我收到一个错误:
C:\.....>python email.py
Traceback (most recent call last):
File "email.py", line 1, in <module>
import smtplib
File "C:\.....\Python\lib\smtplib.py", line 47,
in <module>
import email.utils
File "C:\.....\email.py", line 15, in
<module>
server = smtplib.SMTP('smtp.gmail.com', 587)
AttributeError: 'module' object has no attribute 'SMTP'
Run Code Online (Sandbox Code Playgroud)
我不太明白我在这里做错了什么......有什么不对吗?
注意:所有期间都是密码/电子邮件/文件路径/等的替换.
对以下格式的表进行操作:
name size solution_length solution_forks backtravel_parallel backtravel_perp forks_to_dead dead_overlap weighted_dead_length
------------------------ ---------- --------------- -------------- ------------------- --------------- ------------- ------------ --------------------
AldousBroder_5_33342.txt 5 14 4 0 0 4 26 444
AldousBroder_5_05916.txt 5 28 4 4 0 4 28 728
Run Code Online (Sandbox Code Playgroud)
这就是我如何获得一列的最大值。
sqlite> SELECT MAX(weighted_dead_length) FROM mazes_100k;
MAX(weighted_dead_length)
-------------------------
996
Run Code Online (Sandbox Code Playgroud)
但是,它似乎不是真正的最大值:
sqlite> SELECT COUNT(*) FROM mazes_100k WHERE weighted_dead_length = 1000;
COUNT(*)
----------
15
Run Code Online (Sandbox Code Playgroud)
为什么如果我尝试计算列值高于MAX() 返回值的行数,我仍然会得到一些命中?好像 MAX() 没有返回列的真正最大值。
通过尝试错误,使用 COUNT(),似乎真正的最大值是 1004 - 我怎样才能让 MAX() 返回那个?
谢谢!