问题描述
电子邮件运营商总是返回 401 forbidden。
版本:
composer-1-14-2-airflow-1-10-12
环境变量是提前创建的:
SENDGRID_MAIL_FROM=x@x.com
SENDGRID_API_KEY="SG.****"
总结:作为开始,我使用最宽松的环境。创建 Composer 的网络允许所有入口和出口。
使用 Cloud Shell
curl --request POST \
--url https://api.sendgrid.com/v3/mail/send \
--header "Authorization: Bearer SG.****" \
--header 'Content-Type: application/json' \
--data '{"personalizations": [{"to": [{"email": "x@x.com"}]}],"from": {"email": "y@x.com"},"subject": "Hello,World!","content": [{"type": "text/plain","value": "hey!"}]}'
执行上述 curl 命令后,邮件已正确发送。
但是,来自 Composer 环境的电子邮件操作员返回 401 错误。
在 Bash Operator 中使用 curl 命令会产生完全相同的 401 错误,只是确认了电子邮件 Operator 的连接问题。
此外,当我通过 SSH 连接到运行 Composer 的 Kubernetes 集群的其中一个工作人员时,我可以毫无问题地发送电子邮件。
将 NetworkPolicy 添加到 Kubernetes 集群以允许来自集群的所有出口也没有区别。
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
Metadata:
name: allow-all-egress
spec:
podSelector: {}
egress:
- {}
policyTypes:
- Egress
那么可能是什么问题?
毕竟,这应该很简单,因为它是 GCP 推荐的用于从 Composer 发送电子邮件的服务,并且可能应该更彻底地记录下来。
非常感谢您的所有建议/帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)