Sendgrid 从终端工作但不在 pycharm
Sendgrid working from terminal but not in pycharm
我正在尝试将基本的邮件发件人 sendgrid 函数连接到我的程序管道。问题是当我从终端执行必要的命令时,它工作正常,如:
echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env
echo "sendgrid.env" >> .gitignore
source ./sendgrid.env
python3 sendgrid_mail.py
但是当我尝试从 PyCharm 运行 它时,它给我 HTTP 错误 401:未经授权
错误。
import os
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail
def mail_sender():
message = Mail(
from_email='from_mail',
to_emails='to_mail',
subject='hello pycharm',
html_content='<strong>and easy to do anywhere, even with Python</strong>')
try:
sg = SendGridAPIClient(os.environ.get('my_api_key'))
response = sg.send(message)
print(response.status_code)
print(response.body)
print(response.headers)
except Exception as e:
print(e)
mail_sender()
您正在获取环境变量 my_api_key
,但您在 sendgrid.env 中将环境变量设置为 SENDGRID_API_KEY
。这两个名字需要匹配。
我假设 sendgrid.env 文件中的 YOUR_API_KEY
是您创建的 api 密钥。如果不是,则需要将其替换为实际值。
不清楚您在 运行 PyCharm 中的表现如何。我猜你在 PyCharm 时实际上并没有设置你的环境变量。尝试查看 API 键,看看它是否符合您的预期(打印或使用调试器)
您可以在 运行 配置中修改环境变量
Run | Edit Configurations... | Select the run configuration you're using | Environment variables ....
您也可以尝试在启动前设置环境变量 PyCharm 它可能会自动启动,但这取决于很多其他因素。
我正在尝试将基本的邮件发件人 sendgrid 函数连接到我的程序管道。问题是当我从终端执行必要的命令时,它工作正常,如:
echo "export SENDGRID_API_KEY='YOUR_API_KEY'" > sendgrid.env
echo "sendgrid.env" >> .gitignore
source ./sendgrid.env
python3 sendgrid_mail.py
但是当我尝试从 PyCharm 运行 它时,它给我 HTTP 错误 401:未经授权 错误。
import os
from sendgrid import SendGridAPIClient
from sendgrid.helpers.mail import Mail
def mail_sender():
message = Mail(
from_email='from_mail',
to_emails='to_mail',
subject='hello pycharm',
html_content='<strong>and easy to do anywhere, even with Python</strong>')
try:
sg = SendGridAPIClient(os.environ.get('my_api_key'))
response = sg.send(message)
print(response.status_code)
print(response.body)
print(response.headers)
except Exception as e:
print(e)
mail_sender()
您正在获取环境变量 my_api_key
,但您在 sendgrid.env 中将环境变量设置为 SENDGRID_API_KEY
。这两个名字需要匹配。
我假设 sendgrid.env 文件中的 YOUR_API_KEY
是您创建的 api 密钥。如果不是,则需要将其替换为实际值。
不清楚您在 运行 PyCharm 中的表现如何。我猜你在 PyCharm 时实际上并没有设置你的环境变量。尝试查看 API 键,看看它是否符合您的预期(打印或使用调试器)
您可以在 运行 配置中修改环境变量
Run | Edit Configurations... | Select the run configuration you're using | Environment variables ....
您也可以尝试在启动前设置环境变量 PyCharm 它可能会自动启动,但这取决于很多其他因素。