новый пробелем с подключением smtlib
пример
все smtp в блоке / закрытии / отключении, когда я пытаюсь отправить электронное письмо с помощью python с gmail или частным доменом gmail
код
import pandas as pd
import smtplib
e = pd.read_excel("xxx")
emails = e['xxx'].values
server = smtplib.SMTP("smtp.gmail.com", 587)
server.login = "xxx"
server.password = "xxx"
server.starttls()
msg = "Hello this is a email form python"
subject = "Hello world"
body = "Subject: {}nn{}".format(subject, msg)
for email in emails:
server.sendmail(server.login, server.password, body)
server.quit()
ошибка
File "C:Python39libsmtplib.py", line 637, in auth
(code, resp) = self.docmd("AUTH", mechanism + " " + response)
File "C:Python39libsmtplib.py", line 427, in docmd
return self.getreply()
File "C:Python39libsmtplib.py", line 400, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")
smtplib.SMTPServerDisconnected: Connection unexpectedly closed
1 ответ
Чтобы отправить почту через smtp.gmail.com
, вам необходимо аутентифицировать ваш SMTP-сеанс. Обычно вы делаете это, вызывая login
метод на smtplib.SMTP
объект … но вы заменили этот метод строкой, поэтому вы не можете этого сделать, даже если попытаетесь.
Поскольку вы не проходите аутентификацию, Gmail отключает вас.
Кроме того, похоже, что вы используете свое имя пользователя и пароль, где sendmail
ожидает адреса электронной почты «от» и «до».
Вероятно, вы хотите, чтобы ваш код выглядел примерно так:
import pandas as pd
import smtplib
e = pd.read_excel("xxx")
emails = e['xxx'].values
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login("your_gmail_account_here", "your_password_here")
msg = "Hello this is a email from python"
subject = "Hello world"
body = "Subject: {}nn{}".format(subject, msg)
for email in emails:
server.sendmail("you@your_email_address", email, body)
server.quit()
Это предполагает, что emails
на самом деле это список адресов электронной почты. Вам нужно будет ввести здесь информацию (ваше имя пользователя, пароль и адрес электронной почты), прежде чем это будет работать правильно.