用python實現發送郵件的時候有下列的坑:
1.smtplib.SMTPDataError: (554…
下面這樣寫是沒問題的
簡單的封裝成類就報錯:
控制台報錯信息:
smtplib.SMTPDataError: (554, b’DT:SPM 163 smtp12,EMCowAB3NOwSaJ9cm4f_EA–.12382S2 1553950738,please see http://mail.163.com/help/help_spam_16.htm?ip=119.123.199.19&hostid=smtp12&time=1553950738’)
鬱悶至今,為啥為啥為啥?
2.10.smtplib.SMTPAuthenticationError: (535, b’Error: authentication failed’)
我用發送者的郵箱是163,原因是未将POP3/SMTP服务开启。通过在163邮箱内 设置 获取授权码 打开,通过授权码可以进行第三方登录。此处的Password填写授权码。
3.啟用了設置郵件格式的方式,結果和視頻一樣的寫法也出現554錯誤
在網上找了方法,總算解決
注意:这里的message[‘From’] 和[‘To’] 改为 邮箱里收发邮件的发件人和收件人那种字符格式!
…我去了,再回去截圖錯誤信息的時候,發現不寫成上述格式也發送成功了,啪啪啪打臉,那就是說不寫message[‘From’] 和[‘To’] 必定出錯,寫的格式沒要求
當然,調用一定會出錯,我擦好惡心!
4.smtplib.SMTPResponseException: (503, b’Error: send HELO/EHLO first’)
以下為用tls模式進行加密出錯,按照視頻敲的…出錯真的是…一腔熱血餵了狗
必須先聲明:
做了以下操作:
(1)不加參數server.starttls()也是同樣錯誤
(2)為排除編譯器問題,在cmd中敲也是同樣錯誤