ローカルと本番の両方で MVC 4 を使用しています。私の Index.cshtml ファイルから、簡単なリンクがあります。
@Html.ActionLink("Click to send an email", "Email", "Home");
ここで、Email は HomeController で次のように定義されています。
public ActionResult Email()
{
// send mail
MailMessage message = new MailMessage();
message.From = new MailAddress("email@email.com");
message.To.Add(new MailAddress("tony@email.com"));
message.Subject = "User submitted a message...";
string msgBody = "<html><body>"
+ "You have a new user submitted form request sent at "
+ DateTime.Now + ":
message.Body = msgBody;
SmtpClient client = new SmtpClient();
client.Send(message);
return RedirectToAction("Index");
}
クライアントのメールアドレスやその他の詳細は削除しましたが、それが基本的な要点です。「メール」ビューは特になく、system.netを使ってメールを送って帰るだけです。
これはローカルの Visual Web Express ではスムーズに機能し、Arvixe ホスティングでは「リソースが見つかりません」という例外が生成されます。