簡體   English   中英

無法通過python發送電子郵件(gmail)

[英]Can't send email (gmail) via python

我有一個像半年前一樣工作的代碼。 它基本上發送電子郵件。

import smtplib
import socket

gmail_user="SENDERMAIL"
gmail_password="SENDERPASS"
to = 'SENDTOTHIS'

email_text = "ADSADSADSA"

try:
    server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
    server.ehlo()
    server.login(gmail_user, gmail_password)
    server.starttls()
    server.sendmail(gmail_user, to, email_text)
    server.close()

    #I was using this code below and it was working. I tried above code but it also did not work.
    #server = smtplib.SMTP("smtp.gmail.com:587")
    #server.ehlo()
    #server.starttls()
    #server.ehlo()
    #server.login(gmail_user, gmail_password)
    #server.sendmail(gmail_user, to, email_text)
    #server.close()
    print("Done")
except Exception as exception:
    print(exception)

這是例外

(534,b'5.7.14

5.7.14 KL7_2qGSLW9IBjP8dKKgP67bEgyKNc5ls76dnVDZcUlVQjJUQb0JX9BIVi_Agb84vKNOKB

5.7.14 fshB0ngZ_Tn8ocDpDHKavRKXmluVjHo5YM7ADKENtWn4aVTxyvaBlbXRGpA1EBh91bdV-o

5.7.14 pwiAWUHXKmRQEuSNSiFcv68DP4a7ghIu9YKnTyqtUEhGd4HgKtxa4Jz0mhSQDjD13UQWYB

5.7.14 -YEL5Sd2h5YxN8kkSAsK-J_hXMbpy7wNyeCov8lq1Aa3spZzgo>請通過登錄

5.7.14您的網絡瀏覽器,然后再試一次。

5.7.14了解更多信息

5.7.14 https://support.google.com/mail/answer/78754 f132-v6sm3660398wme.24-gsmtp')

我確實嘗試過

  • 登錄的gmail
  • 將設備添加到受信任的設備
  • 通過gmail打開了IMAP
  • 讓不太安全的應用
  • 嘗試了這個:

https://support.google.com/mail/answer/7126229?visit_id=636711453029417344-336837064&rd=2#cantsignin

有許多方法可以解決此問題。 我希望這段代碼對您有所幫助。 您唯一需要做的就是填寫所需的變量。

    import socket
    import smtplib
    from email.mime.multipart import MIMEMultipart
    from email.mime.text import MIMEText
    # 
    message = "Your message" # Type your message
    msg = MIMEMultipart()
    password = "********" # Type your password 
    msg['From'] = "from@gmail.com" # Type your own gmail address 
    msg['To'] = "To@gmail.com" # Type your friend's mail address  
    msg['Subject'] = "title" # Type the subject of your message 
    msg.attach(MIMEText(message, 'plain'))
    server = smtplib.SMTP('smtp.gmail.com: 587')
    server.starttls()
    server.login(msg['From'], password)
    server.sendmail(msg['From'], msg['To'], msg.as_string())
    server.quit()

我還建議使用一個更簡單的庫(在smtplib之上的包裝器,以確保不涉及其他因素)....像yagmail (免責聲明:我是開發人員)。

嘗試查看是否可行:

import yagmail
yag = yagmail.SMTP("username", "password")
yag.send(subject="hi")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM