我已经为使用Celery和RabbitMQ发送电子邮件(使用gmail)的烧瓶应用程序编写了邮件服务。 芹菜消费者和生产者沟通好,但我不能发送电子邮件。 我得到一个socket.error:[Errno 101]networking无法访问。
我认为这意味着AWS阻塞了端口587 – 尽pipe在我的安全组中我打开了端口587和25(入站和出站)。
为什么会发生这种情况? 任何帮助将不胜感激。
如果aws防火墙包装器拒绝tcp / 587,可以使用ec2 api工具打开:
ec2-authorize [sec-group-id] -P tcp -p 587 -s 0.0.0.0/0
虽然听起来你已经打开了这个。 validation,运行
ec2-describe-group [sec-group-id]
关于icmp没有响应,你可以通过以下方式打开:
ec2-authorize [sec-group-id] -P icmp -t -1:-1 -s [your-public-ip] / 32
要使用Gmail SMTP服务从AWS EC2发送电子邮件,请按以下步骤操作。
你需要设置你的实例入站规则
之后,您可以使用AWS EC2的587 SMTP端口发送电子邮件。
请阅读这篇文章。 https://support.google.com/accounts/answer/6010255?hl=en