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

为什么 SendGrid 允许我从任何地址发送电子邮件?

沈茂
2023-03-14

我有一个本地python文件,用于通过sendgrid的SMTP发送电子邮件:

gmail_sender = "example@gmail.com"
server_username = "apikey"
server_password = prod.CONFIG['sendgrid_SMTP']

server = smtplib.SMTP_SSL('smtp.sendgrid.net', 465)
server.login(server_username, server_password)

email_information['From'] = gmail_sender

server.sendmail(email_information['From'], email_information['To'], 
    email_information.as_string())

我对谁在发送电子邮件感到困惑。我用多封不同的电子邮件替换了gmail_sender,并且不必为这些电子邮件提供密码,我可以通过sendgrid的SMTP发送电子邮件。在我发送的电子邮件的发件人部分,它说我作为gmail_sender加上“通过 sendgrid.net”的电子邮件。我可以让它看起来像是任何人发送电子邮件,这不是安全问题吗?

任何指导都值得赞赏:)

共有1个答案

阎烨
2023-03-14

另一种选择是相当令人生畏的。您必须从技术上向他们证明,您要发送的每个地址实际上都是您的。

某些服务要求您通过为您提供唯一的 cookie 并告诉您将其发布到域的 DNS 记录中来证明域是您的。如果您控制域的 DNS,则您有权控制域。但是电子邮件没有类似的机制 - 您可以简单地在电子邮件上伪造发件人,这应该证明您拥有该地址。

无论如何,为要使用的每个域经历这种磨难已经是一件苦差事。想象一下,对于想要使用数十、数百甚至数千个不同发件人地址的客户来说,这意味着什么。

Sendgrid 服务条款有一些关于网络滥用的一般语言,可能适用于使用其他人的电子邮件地址。我在他们的 ToS 中找不到任何关于地址伪造的具体内容。在合同中设置法律限制(并执行它!)使他们免于实施技术限制。

 类似资料:
  • 问题内容: 我正在使用sendgrid发送电子邮件,并且使用以下代码可以正常工作,但没有附件。 但是我需要发送附件,因此我搜索了github源和Web文档API,由于某种原因,没有javadocs,但是有一个示例GitHub sendgrid, 所以我一直在尝试直到它起作用为止,我缩小了一些异常和响应代码,起初我是被禁止的未经授权,最好是响应202,表示有效且已排队(在此处检查),这是我的代码发送

  • 问题内容: 我正在尝试从servlet发送电子邮件。也不例外,但是我的帐户中没有收到电子邮件。我正在使用以下代码: } 我现在收到以下异常: 谁能告诉我为什么我没有收到电子邮件以及此代码有什么问题。提前致谢 问题答案: 阅读https://developers.google.com/appengine/docs/java/mail/overview 基本上停止在您的应用程序中包含任何JavaMai

  • responseerror:禁止在d:\node-projects\ecom\node_modules@sendgrid\client\src\类\client.js:146:29在processTicksAndRejections(internal/process/task_queues.js:93:5){ 代码:403,response:{headers:{server:'nginx',dat

  • 问题内容: 我正在使用位于此处的jquery validate函数和插件。 http://docs.jquery.com/插件/验证 我要通过js文件,我已经找到了确保它是有效电子邮件的电子邮件验证块,但事实是,我只允许.edu电子邮件。我不知道从哪里开始。 问题答案: 您不需要自定义扩展名。您可以使用以下方法:http : //docs.jquery.com/Plugins/Validation

  • 问题内容: 我正在Windows上使用WampServer来测试站点。我有一个注册系统,用户会收到一封确认电子邮件。 是否可以从本地主机发送电子邮件? 问题答案: 如果要直接从本地主机发送电子邮件,则需要安装邮件传输代理(MTA),或者安装SMTP服务。 IIS提供了一个。否则,您可以在Google上找到其他人。 您也可以更改 邮件设置。这将不使用每条说来发送电子邮件,而是用于允许您从PHP脚本发

  • 我正在使用Azure mobile services后端,我可以通过SendGrid成功地发送电子邮件。但是,每次我尝试添加附件时,它都失败了。我从来没有收到过邮件。经过一点研究,我发现我所需要的只是一个虚拟路径。我修改了路径名,但它仍然不工作。 我想不出为什么会失败。 下面是我的代码:

  • 问题内容: 我正在尝试使用sendGrid发送电子邮件(在我的移动应用程序中)。因此,我编写了一个云函数并将其部署到firebase中。(使用此功能,访问https://angularfirebase.com/lessons/angular4-transactional- email-with-cloud-functions-and- sendgrid/ )。 它已上传到Firebase。但是,当