我最近写了一篇关于此的文章:使用 C# 发送电子邮件
你基本上有两个选择,要么使用 SMTP 客户端发送,这意味着你必须有一个 SMTP 服务器并且能够连接到端口 25(如果你不使用外部 SMTP,那么你必须自己管理)。或者,您可以使用外部电子邮件提供商,例如:
如果您使用 AlphaMail,您可以通过以下方式发送电子邮件:
IEmailService emailService = new AlphaMailEmailService()
.SetServiceUrl("http://api.amail.io/v1/")
.SetApiToken("YOUR-ACCOUNT-API-TOKEN-HERE");
var person = new Person()
{
Id = 1234,
UserName = "jdoe78",
FirstName = "John",
LastName = "Doe",
DateOfBirth = 1978
};
var response = emailService.Queue(new EmailMessagePayload()
.SetProjectId(12345) // ID of AlphaMail project (determines options, template, etc)
.SetSender(new EmailContact("support@company.com", "from@example.com"))
.SetReceiver(new EmailContact("Joe E. Receiver", "to@example.org"))
.SetBodyObject(person) // Any serializable object
);
与仅构建 HTML 并使用 SMTP 客户端发送它的另一件事是,使用 AlphaMail,您可以直接在 GUI 中编辑您的代码之外的电子邮件。您还可以使用 AlphaMail 的模板语言Comlang轻松创建高度动态的模板。
<html>
<body>
<b>Name:</b> <# payload.FirstName " " payload.LastName #><br>
<b>Date of Birth:</b> <# payload.DateOfBirth #><br>
<# if (payload.Id != null) { #>
<a href="http://company.com/sign-up">Sign Up Free!</a>
<# } else { #>
<a href="http://company.com/login?username=<# urlencode(payload.UserName) #>">Sign In</a>
<# } #>
</body>
</html>