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

时间:2018-08-17 21:50:17

标签: python smtp sendgrid smtp-auth

我有一个本地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 个答案:

答案 0 :(得分:0)

替代方案相当艰巨。您必须从技术上向他们证明,您要发送的每个地址实际上都是您的。

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

无论如何,对您要使用的每个域进行此苦难已经很麻烦了。想象一下对于想要使用数十个,数百个甚至数千个不同发件人地址的客户意味着什么。

Sendgrid服务条款具有一些有关网络滥用的通用语言,可能适用于使用他人的电子邮件地址。在他们的服务条款中,我找不到关于地址伪造的具体信息。合同中有法律限制(并强制执行!),使他们无需执行技术限制。