从 SendGrid 作为公司域发送电子邮件

Sending emails as company domain from SendGrid

我拥有一个域,example.com。我想从我的网络应用程序发送电子邮件,其中显示来自 info@example.comsupport@example.com.

我过去在我的网站中经常使用 SendGrid,但我总是能够通过编辑 From 属性 来简单地填写电子邮件的来源SendGridMessage class,它只是以这种方式出现在客户身上。

是否有来自 sendgrid 的官方 way/API 可以使用我拥有的域?是什么阻止我或其他人使用 sendgrid API 输入他们想要的任何域?

为您的域设置 DNS 记录以允许对您的电子邮件进行身份验证以及验证您对域的所有权的过程在 SendGrid 中被称为 whitelabeling。在此过程之后,SPF 和 DKIM 记录将可供接收服务器检查。

SPF and DKIM 确保允许原始 IP 代表相关域发送电子邮件,并从本质上分别验证电子邮件的内容未被篡改。

阻止其他人从您的域发送的东西叫做 DMARC。 yahoo、aol 和很快 google 拥有的域名都执行严格的政策;声称来自这些域但并非来自这些域的电子邮件将永远不会被发送。许多其他域将很快跟随这一趋势并实施 DMARC。

https://azure.microsoft.com/en-us/documentation/articles/sendgrid-dotnet-how-to-send-email/ 中的代码示例显示了如何执行此操作:

// Create the email object first, then add the properties.
var myMessage = new SendGridMessage();

// Add the message properties.
myMessage.From = new MailAddress("john@example.com");

// Add multiple addresses to the To field.
List<String> recipients = new List<String>
{
    @"Jeff Smith <jeff@example.com>",
    @"Anna Lidman <anna@example.com>",
    @"Peter Saddow <peter@example.com>"
};

myMessage.AddTo(recipients);

myMessage.Subject = "Testing the SendGrid Library";

//Add the HTML and Text bodies
myMessage.Html = "<p>Hello World!</p>";
myMessage.Text = "Hello World plain text!";