51 lines
1.6 KiB
C#
51 lines
1.6 KiB
C#
using System;
|
|
using System.Net.Mail;
|
|
using GeneralApi.Core.Services;
|
|
using Taloyhtio.GeneralApi.Common;
|
|
|
|
namespace Taloyhtio.GeneralApi.Core.Services.Impl
|
|
{
|
|
public class EmailService : IEmailService
|
|
{
|
|
private ILogger logger;
|
|
// private string host;
|
|
// private int port;
|
|
private string from;
|
|
// private string login;
|
|
// private string pwd;
|
|
|
|
public EmailService(ISettingsProvider settingsProvider, ILogger logger)
|
|
{
|
|
// this.host = settingsProvider.Get<string>(SettingsKeys.KEY_HOST);
|
|
// this.port = settingsProvider.Get<int>(SettingsKeys.KEY_PORT);
|
|
this.from = settingsProvider.Get<string>(Common.Constants.SettingsKeys.KEY_EMAIL_FROM);
|
|
// this.login = settingsProvider.Get<string>(SettingsKeys.KEY_LOGIN);
|
|
// this.pwd = settingsProvider.Get<string>(SettingsKeys.KEY_PWD);
|
|
this.logger = logger;
|
|
}
|
|
|
|
public void Send(string to, string subj, string body)
|
|
{
|
|
if (string.IsNullOrEmpty(to))
|
|
{
|
|
throw new ArgumentNullException("to");
|
|
}
|
|
|
|
var msg = new MailMessage(this.from, to, subj, body);
|
|
|
|
var smtpClient = new SmtpClient(/*this.host, this.port*/);
|
|
//smtpClient.Credentials = new NetworkCredential(this.login, this.pwd);
|
|
|
|
try
|
|
{
|
|
smtpClient.Send(msg);
|
|
}
|
|
catch (Exception x)
|
|
{
|
|
this.logger.LogError("Error occured during email sending:\n{0}\n{1}",
|
|
x.Message, x.StackTrace);
|
|
}
|
|
}
|
|
}
|
|
}
|