私は最近これに関する記事を書きました:C#でメールを送信する
基本的に2つの選択肢があります。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クライアントで送信することとのもう1つの違いは、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>