我想将电子邮件发送到我在 Excel 工作表文件中的电子邮件列表。
我使用的是 Visual Studio Code 和 Linux 操作系统。
请检查下面我的代码:
import pandas as pd
import smtplib
SenderAddress = "my@emailaddress"
password = "mypassword"
e = pd.read_excel("email.xlsx")
emails = e['Emails'].values
server = smtplib.SMTP("smtp.gmail.com ", 587)
server.starttls()
server.login(SenderAddress, password)
msg = "Hello this is a email form python"
subject = "Hello world"
body = "Subject: {}\n\n{}".format(subject, msg)
for email in emails:
server.sendmail(SenderAddress, email, body)
server.quit()
当我运行代码时出现以下错误:
line 9, in <module>
server = smtplib.SMTP("smtp.gmail.com ", 587)
File "/usr/lib/python3.8/smtplib.py", line 253, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python3.8/smtplib.py", line 339, in connect
self.sock = self._get_socket(host, port, self.timeout)
File "/usr/lib/python3.8/smtplib.py", line 308, in _get_socket
return socket.create_connection((host, port), timeout,
File "/usr/lib/python3.8/socket.py", line 787, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File "/usr/lib/python3.8/socket.py", line 918, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known
[Done] exited with code=1 in 0.683 seconds
答案 0 :(得分:2)
我们需要 .size()
如下所示:
ehlo
答案 1 :(得分:1)
主机名末尾有一个空格
"smtp.gmail.com "
删除空格。