asp.net mvc framework, automatycznie wysyłać e-mail
I want my asp.net system mvc framework do wysyłania wiadomości e-mail za każdym razem pewne działanie (wewnątrz pewnego kontrolera)jest zwolniony. Czy istnieją jakieś biblioteki stron trzecich lub. NET standardowe sposoby, aby to osiągnąć?
4 answers
Bardziej aktualną metodą byłoby użycie System. Net. Mail - jest to zamiennik systemu 2.0.Www.Poczta.
Coś takiego, wywołanego albo z kontrolera bazowego (jeśli są inne kontrolery, które tego potrzebują), faktycznego kontrolera, o którym mowa.
Mam następujący kod wewnątrz statycznej klasy do obsługi wysyłania prostych elementów tekstowych z serwera:
internal static void SendEmail(MailAddress fromAddress, MailAddress toAddress, string subject, string body)
{
var message = new MailMessage(fromAddress, toAddress)
{
Subject = subject,
Body = body
};
var client = new SmtpClient("smtpServerName");
client.Send(message);
}
Oczywiście, prawdopodobnie chcesz, aby jakaś obsługa błędów itp tam-Wyślij może rzucić wyjątek na przykład, jeśli serwer odmawia połączeń.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-20 14:32:15
Utwórz Kontroler bazowy, z którego dziedziczą wszystkie inne kontrolery. W BaseController nadpisać metodę OnActionExecuted i wstawić kod do wysłania wiadomości e-mail.
public class BaseController : Controller
{
protected override void OnActionExecuted(ActionExecutedContext filterContext)
{
// Send mail here
base.OnActionExecuted(filterContext);
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-20 14:02:20
Klasa SmtpClient z innymi klasami System.Net.Mail są łatwo używane z dowolnego programu . Net do wysyłania poczty. Wystarczy skierować go na Dostępny i chętny Serwer SMTP.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-01-20 14:43:01
Cóż to nie jest naprawdę trudne, aby wysłać e-mail za pomocą .NET. można po prostu wysłać pocztę z wewnątrz działania.
Ale myślę, że niewiele tu mówimy o logowaniu, a do logowania jest szereg bibliotek stron trzecich. Wiem, że jest jeden o nazwie Log4Net.
Większość tych frameworków logowania umożliwia konfigurację sposobu przechowywania dzienników, a także ustawienie wysyłania wiadomości e-mail, gdy coś rejestruje.
Ale w Twoim scenariuszu, to po prostu napisać zwykły prosty mail funkcja, która wysyła pocztę, gdy użytkownik wprowadzi akcję. Możesz spojrzeć na: http://www.developer.com/net/asp/article.php/3096831 - jest to demo wysyłania poczty za pomocą. NET - webforms, ale podstawowe rzeczy nadal mają zastosowanie do MVC.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-20 09:26:48