Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python BotoServer错误:400错误请求:邮件未发送_Python_Django_Amazon Web Services_Boto - Fatal编程技术网

Python BotoServer错误:400错误请求:邮件未发送

Python BotoServer错误:400错误请求:邮件未发送,python,django,amazon-web-services,boto,Python,Django,Amazon Web Services,Boto,当它在另一个AWS实例上工作时 我已经测试了以下可能性 服务器日期和时间 简单邮件也不起作用: 发送邮件('您的主题',str(e),settings.DEFAULT\u FROM\u EMAIL,fail\u EMAIL,fail\u静默=False) 该错误表示您的服务器时间与Amazon的服务器时间不同步 您可以通过运行来检查亚马逊服务器的时间: BotoServerError: 400 Bad Request  <ErrorResponse xmlns="http://ses

当它在另一个AWS实例上工作时

我已经测试了以下可能性

  • 服务器日期和时间
  • 简单邮件也不起作用: 发送邮件('您的主题',str(e),settings.DEFAULT\u FROM\u EMAIL,fail\u EMAIL,fail\u静默=False)

  • 该错误表示您的服务器时间与Amazon的服务器时间不同步

    您可以通过运行来检查亚马逊服务器的时间:

     BotoServerError: 400 Bad Request
      <ErrorResponse xmlns="http://ses.amazonaws.com/doc/2010-12-01/">
      <Error>
      <Type>Sender</Type>
      <Code>RequestExpired</Code>
      <Message>Request timestamp: Wed, 01 Oct 2014 07:35:22 GMT expired.  It must be within 300 secs/ of server time.</Message>
      </Error>
      <RequestId>c79a9723-493c-11e4-b2d8-51a7cb197196</RequestId>
      </ErrorResponse>
    
    在返回的消息中查找时间戳。用相应的区域端点替换us-east-1

    将其与系统的时间进行比较

    如果需要NTP服务器,可以使用:

    wget -S "https://email.us-east-1.amazonaws.com"
    

    如果这是在您自己的亚马逊专有网络中,您可以在指定了ntp服务器的专有网络上设置DHCP选项。如果您的服务器仍然没有同步,请确保没有安全组阻止ntp(UDP 123)。

    在我的情况下,我的Ubuntu服务器与SES后端不同步,并返回了相同的消息。要解决这个问题:

  • 检查SES上的时间和当地时间:使用
    wget-S”https://email.eu-west-1.amazonaws.com“
    根据您的电子邮件端点更改链接
  • 使用
    日期检查服务器上的时间

  • 如果它们不同,请使用
    sudo apt get install ntp在服务器上安装ntp

  • 最后,同步您的服务器时间:

  • sudo服务ntp停止
    sudo ntpdate-s time.nist.gov
    
    sudo服务ntp启动

    错误是,您的电子邮件请求时间戳已超过5分钟,因此可能会出现时间漂移?服务器上日期的输出是什么。
    wget -S "https://email.us-east-1.amazonaws.com"
    
    0.amazon.pool.ntp.org
    1.amazon.pool.ntp.org
    2.amazon.pool.ntp.org
    3.amazon.pool.ntp.org