Skip to content

Instantly share code, notes, and snippets.

@danielplawgo
Last active June 13, 2018 03:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danielplawgo/331fbd36cca8273e7daa4e5db8b7f09d to your computer and use it in GitHub Desktop.
Save danielplawgo/331fbd36cca8273e7daa4e5db8b7f09d to your computer and use it in GitHub Desktop.
Postal - wysyłka email w ASP.NET MVC
public class BaseMailer
{
protected void Send(Email email)
{
var mailerName = GetType().Name.Replace("Mailer", string.Empty);
var viewsPath = Path.GetFullPath(string.Format(HostingEnvironment.MapPath(@"~/Views/Emails/{0}"), mailerName));
var engines = new ViewEngineCollection();
engines.Add(new FileSystemRazorViewEngine(viewsPath));
var emailService = new EmailService(engines);
emailService.Send(email);
}
}
@model PostalExample.ViewModels.Users.RegisterEmail
To: @Model.Email
Subject: Nowe konto
<h1>Witaj @Model.FirstName!</h1>
<p>Dziękujemy za założenie konta.</p>
public class RegisterEmail : Email
{
public string FirstName { get; set; }
public string Email { get; set; }
}
public class UsersMailer : IUserMailer
{
public void SendRegisterEmail(User user)
{
var email = new RegisterEmail()
{
Email = user.Email,
FirstName = user.FirstName
};
email.Send();
}
}
public interface IUserMailer
{
void SendRegisterEmail(User user);
}
public class UsersMailer : BaseMailer, IUserMailer
{
public void SendRegisterEmail(User user)
{
var email = new RegisterEmail()
{
Email = user.Email,
FirstName = user.FirstName
};
Send(email);
}
}
<system.net>
<mailSettings>
<smtp from="adres email">
<network enableSsl="true" host="smtp.gmail.com" port="587" userName="nazwa użytkownika" password="hasło" />
</smtp>
</mailSettings>
</system.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment