我试图使用

python将文件附加到邮件.

码:

import smtplib

from email.MIMEMultipart import MIMEMultipart

from email.MIMEText import MIMEText

from smtplib import SMTPException

def send_Email():

file1="abc.txt"

message = "Test mail"

msg = MIMEMultipart()

msg.attach(MIMEText(file(file1).read()))

try:

smtpObj = smtplib.SMTP('smtp server name',port)

smtpObj.sendmail(sender, EmailId, message, msg.as_string() )

print "Successfully sent email"

except SMTPException:

print "Error: unable to send email"

Bt我收到错误:socket.gaierror:[Errno 11001] getaddrinfo失败

完整的错误消息:

File "C:\Python27\lib\smtplib.py", line 249, in __init__

(code, msg) = self.connect(host, port)

File "C:\Python27\lib\smtplib.py", line 309, in connect

self.sock = self._get_socket(host, port, self.timeout)

File "C:\Python27\lib\smtplib.py", line 284, in _get_socket

return socket.create_connection((port, host), timeout)

File "C:\Python27\lib\socket.py", line 553, in create_connection

for res in getaddrinfo(host, port, 0, SOCK_STREAM):

socket.gaierror: [Errno 11001] getaddrinfo failed

最佳答案 问题是“smtp服务器名称”的DNS查找失败 – 如果这是您的确切代码,那么您可以看到原因 – 如果没有,并且您具有SMTP服务器的有效限定名称,那么您可能遇到防火墙问题/互联网连接等,也必须将端口设置为有效值以匹配您的服务器SMTP配置(通常是端口25但不是绝对总是).

Logo

一站式 AI 云服务平台

更多推荐