为什么 SendGrid 允许我从任何地址发送电子邮件?
Why does SendGrid allow me to send emails from any address?
我有一个本地 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 加上 "via sendgrid.net." 我可以让它看起来像任何人发送的电子邮件,这不是安全问题吗?
感谢任何指导:)
备选方案相当令人生畏。您必须从技术上向他们证明您要发送的每个地址实际上都是您的。
有些服务要求您通过给您一个唯一的 cookie 并告诉您在域的 DNS 记录中发布它来证明 域 是您的。如果您可以控制某个域的 DNS,那么您就可以控制该域。但是电子邮件没有类似的机制 - 您可以简单地在电子邮件上伪造发件人,这应该证明您拥有该地址。
无论如何,为您要使用的每个域经历这种考验已经是一件苦差事。想象一下,对于想要使用数十个、数百个甚至数千个不同发件人地址的客户来说,这意味着什么。
Sendgrid 服务条款有一些关于网络滥用的通用语言,可能适用于使用其他人的电子邮件地址。我在他们的 ToS 中找不到任何关于地址伪造的具体信息。在合同中有法律限制(并强制执行!)使他们无需实施技术限制。
我有一个本地 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 加上 "via sendgrid.net." 我可以让它看起来像任何人发送的电子邮件,这不是安全问题吗?
感谢任何指导:)
备选方案相当令人生畏。您必须从技术上向他们证明您要发送的每个地址实际上都是您的。
有些服务要求您通过给您一个唯一的 cookie 并告诉您在域的 DNS 记录中发布它来证明 域 是您的。如果您可以控制某个域的 DNS,那么您就可以控制该域。但是电子邮件没有类似的机制 - 您可以简单地在电子邮件上伪造发件人,这应该证明您拥有该地址。
无论如何,为您要使用的每个域经历这种考验已经是一件苦差事。想象一下,对于想要使用数十个、数百个甚至数千个不同发件人地址的客户来说,这意味着什么。
Sendgrid 服务条款有一些关于网络滥用的通用语言,可能适用于使用其他人的电子邮件地址。我在他们的 ToS 中找不到任何关于地址伪造的具体信息。在合同中有法律限制(并强制执行!)使他们无需实施技术限制。