当前位置: 首页 > 知识库问答 >
问题:

REPLY.IT SMTPLIB OSERROR:[Errno 99]无法分配请求的地址

向锦
2023-03-14

我正在尝试在repl.it上运行简单的emailsender.py脚本来发送电子邮件。当我尝试在台式PC上运行它时,它没有任何问题。但在收到答复时,我出现错误消息OserRror:[Errno 99]无法分配请求的地址如下所述。emailsender.py程序如下所示:

import smtplib

def send_email(username: str, key: str):
    reciever = username+"@theirmail.cz"
    sender = "my_email@email.cz"
    topic = "Autothorization bot"
    
    # header
    msg = "From: %s\r\nSubject: %s\r\nTo: %s\r\n\r\n" % (sender, topic, reciever)

    # add message content
    content = "Your key is: " + key
    msg += content

    server = smtplib.SMTP('smtp.seznam.cz')
    server.login('my_email@email.cz', "my_email_password") 
    server.sendmail(sender, reciever, msg)
    server.quit()

当我试图通过python在repl.it上运行脚本时,一段时间后,我会收到以下错误消息:

>>> import emailsender
>>> emailsender.send_email("username", "test_message")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/runner/botpy/emailsender.py", line 24, in send_email
    server = smtplib.SMTP('smtp.seznam.cz')
  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 337, 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 808, in create_connection
    raise err
  File "/usr/lib/python3.8/socket.py", line 796, in create_connection
    sock.connect(sa)
OSError: [Errno 99] Cannot assign requested address

这个.py脚本是一个较大的discord.py bot,我正试图在repl.it上托管它,但这应该不会有任何影响,因为这个脚本单独在桌面PC上运行良好。

我已经尽了最大的努力想找出这个错误的原因,但是到目前为止还没有成功。

共有1个答案

白坚壁
2023-03-14

由于我不知道的原因,一个小的命令配置修复了它。

用于发送电子邮件的脚本的新部分如下所示:

server = smtplib.SMTP('smtp.seznam.cz', 587)
server.starttls()
server.ehlo()
server.login('my_email@email.cz', "my_email_password") 
server.sendmail(sender, reciever, msg) 
server.quit()
 类似资料:
  • 问题内容: 我想在我的应用程序中使用低端口(Spring Web上的SNMP陷阱接收器+ Tomcat7)。正如我之前在此线程将低端口绑定到Ubuntu Server上的Java程序中所告诉的那样,我收到了错误权限被拒绝。然后,我将tomcat7用户组更改为root。但是之后,我得到了java.net.BindException:无法分配请求的地址错误。对于我尝试的每个端口(低端口或高端口),我总

  • 我想在我的应用程序中使用低端口(SpringwebTomcat7上的SNMP陷阱接收器)。正如我之前在Ubuntu服务器上的这个线程Binding Low Port to Java Program中所说的,我得到了一个错误Permission denied。然后我将tomcat7用户组更改为root。但在那之后,我得到了java.net。BindException:无法分配请求的地址错误。对于我尝

  • 问题内容: 当我尝试设置套接字服务器时,出现错误消息: 整个代码是最简单的: 我100%确定端口已转发,Windows防火墙已关闭。什么都不会阻塞端口9999。还有什么会出错? 问题答案: 正如其他人指出的那样,这很可能与使用port的另一个进程有关。在Windows上,运行以下命令: 并且它应该列出任何阻塞端口的内容。当然,您必须去手动在Task Manager中杀死那些程序。如果仍然无法解决问

  • 我想发送和接收数据报套接字,但遇到了异常。我传递了要通信的服务器的正确IP地址和正确的端口号。 请帮帮我。

  • 我正在使用 GNetLib 在我的计算机上测试我的服务器。每当我使用我的网络的IP时,它都不会让我绑定。 我的主机是“76 . 5 . 43 . 21”//没有张贴我的实际IP,但你得到了要点。端口是43594,我已经用canyouseeme.org测试了连接,它显示成功。 以下是完整的错误: 问题是我使用家庭网络的IP,还是库限制了我可以使用的IP?

  • 问题内容: 我在172.16.1.218上运行以下node.js服务器: 我可以远程登录到它,它会按预期的方式回显。 我有以下运行在172.16.1.224上的node.js服务器: 但是,当我尝试运行它时,出现以下错误: 我已关闭所有防火墙等。对于此错误,我一无所知。希望有人能提供帮助。 提前谢谢了, 问题答案: 开启时,您无法监听,因为那不是您正在监听的计算机的IP。 如果要在该计算机上收听,

  • 我正在尝试编写一个C程序来侦听我机器上的端口。我遇到了一个奇怪的错误。 每当我尝试将套接字绑定到固定IP(或我的实际IP)时,我都会收到错误。但是,当我作为要绑定到的地址传递给绑定时,它的工作原理。 这些是我仅有的两个IP,因此0.0.0.0不能因为我可用的其他IP地址而起作用。 代码如下:

  • 我们有一个微服务架构,其中来自公共(移动应用程序)的单个请求在内部导致对不同服务的4个HTTP调用。 使用保持活动 使用Apache HTTP池(HTTP://hc.Apache.org/httpcomponents-client-ga/httpclient/apidocs/org/Apache/HTTP/impl/conn/poolingclientconnectionmanager.html)